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)))










この記事が気に入ったらサポートをしてみませんか?