【機械学習・Python】Scikit-learnで回帰モデルの性能評価指標(決定係数・RMSE・MAE)を出力

こんにちは、Kosei(@kay_diacc2)です!

機械学習における回帰問題の性能評価のために、Pythonで評価指標を出力する方法を解説します。ライブラリはScikit-learn(サイキット・ラーン)を用い、R2(決定係数)、RMSE、MAEをプログラムする方法を学んでいきましょう!

目次

本記事で取り扱う機械学習モデルの評価指標

本記事では下記に示すような回帰モデルの評価指標を対象として、Pythonでのプログラミング方法を解説していきます。

  • R2(決定係数)
  • MSE(平均二乗誤差)
  • RMSE(平均平方二乗誤差)
  • MAE(平均絶対誤差)

ここで、各評価指標の意味について知りたい方は下記の記事をご参照下さい。

Pythonを用いた回帰モデルの性能評価

R2(決定係数)

R2(決定係数)を得るためプログラミング方法を下記に示します。

from sklearn.metrics import r2_score

# サンプルデータ
y_true = [11, 14, 19, 29, 29, 34] # 実測値
y_pred = [11, 12, 17, 27, 30, 35] # 予測値

# R2(決定係数)
r2 = r2_score(y_true,                        # 実測値
              y_pred,                        # 予測値
              sample_weight=None,            # サンプルの重み
              multioutput="uniform_average"  # 複数スコアの集計方法
             )

print(r2)

MSE(平均二乗誤差)

MSEを得るためのプログラミング方法を下記に示します。

from sklearn.metrics import mean_squared_error

# サンプルデータ
y_true = [21, 24, 29, 39, 39, 44] # 実測値
y_pred = [21, 22, 27, 37, 40, 45] # 予測値

# MSE算出
mse  = mean_squared_error(y_true,                         # 実測値 
                          y_pred,                         # 予測値
                          sample_weight=None,             # サンプルの重み
                          multioutput='uniform_average',  # 複数スコアの集計方法
                          squared=True                    # True(MSEを算出), False(RMSEを算出)
                          )

print(mse)

RMSE(平均平方二乗誤差)

RMSEを得るためのプログラミング方法を下記に示します。RMSEはMSEと同様にmean_squared_errorメソッドを用いて導出できます。

from sklearn.metrics import mean_squared_error

# サンプルデータ
y_true = [21, 24, 29, 39, 39, 44] # 実測値
y_pred = [21, 22, 27, 37, 40, 45] # 予測値

# RMSE算出
rmse  = mean_squared_error(y_true,                         # 実測値 
                           y_pred,                         # 予測値
                           sample_weight=None,             # サンプルの重み
                           multioutput='uniform_average',  # 複数スコアの集計方法
                           squared=False                   # True(MSEを算出), False(RMSEを算出)
                          )

print(rmse)

MAE(平均絶対誤差)

MAEを得るためのプログラミング方法を下記に示します。

from sklearn.metrics import mean_absolute_error

# サンプルデータ
y_true = [51, 54, 59, 69, 69, 74] # 実測値
y_pred = [51, 52, 57, 67, 70, 75] # 予測値

# MAE算出
mae = mean_absolute_error(y_true,                       # 実測値
                          y_pred,                       # 予測値
                          sample_weight = None,         # サンプルの重み
                          multioutput='uniform_average' # 複数スコアの集計方法
                          )

print(mae)

AI・機械学習まとめ

最後までご覧いただきありがとうございました。当サイトでは機械学習・深層学習における理論やPythonを用いた実装方法の解説記事を多数取り扱っております。

【初学者向け】データサイエンス・人工知能(AI)開発のおすすめ学習方法も解説してます。

ディープラーニングを学ぶ上でおすすめの教材はこちらで紹介しています。

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
URLをコピーする
URLをコピーしました!
目次
閉じる