R²Score【決定係数】
・R²Scoreは決定係数という。
・統計学において独立変数(説明変数)が従属変数(目的変数)のどれくらいを説明できるかを表す値。
・最も当てはまりの良い場合、1.0
・寄与率と呼ばれることもある。
・MAEに比べて、大きな誤差が存在する時に小さな値を示す特徴
・MAEと異なり、値が大きいほど誤差の少ないモデル
sklearn.metrics.r2_score
・第1引数:正解ラベル
・第2引数:予測ラベル
<手順①>ライブラリのインポート、データのロード
# ライブラリのインポート
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression as LR
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
# データのロード
boston = load_boston()
df_boston = pd.DataFrame(data=boston.data,columns=boston.feature_names)
df_boston['target'] = boston.target
<手順②>インスタンス作成
# インスタンス作成
clf = LR()
<手順③>変数の設定、データの分割
# 説明変数RM(1戸あたりの平均部屋数)
X = df_boston['RM'].values.reshape(-1, 1)
# 目的変数target
Y = df_boston['target'].values
# データの分割
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2,random_state=0)
1次元配列に対してreshape(-1, 1)とすると、その配列を要素とする2次元1列の配列(縦行列)に変換することが出来る。
<手順➃>モデルの作成
# 予測モデルを作成
clf.fit(X_train, y_train)
<手順⑤>R2の算出
# R2score算出
print(r2_score(y_test, clf.predict(X_test)))