Kaggle Tutorial

評価指標 I(回帰)

回帰タスクの代表的な評価指標 RMSE・MAE・RMSLE・R² の意味と使い分けを学びます。

回帰の評価指標#

回帰では「予測値が実測値からどれだけ離れているか」を測ります。 コンペでは指標があらかじめ決まっており、その指標を直接最適化するのが鉄則です。

RMSE と MAE#

RMSE(二乗平均平方根誤差)は誤差を二乗して平均し、平方根を取ったものです。

RMSE=1ni=1n(yiy^i)2\mathrm{RMSE} = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}

MAE(平均絶対誤差)は誤差の絶対値の平均です。

MAE=1ni=1nyiy^i\mathrm{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|

RMSE は二乗するため大きな誤差(外れ値)を強く罰し、MAE は外れ値の影響を受けにくいのが特徴です。

RMSLE と R²#

RMSLEは対数を取ってから RMSE を計算します。価格のように比率の誤差が重要で、 裾の長い分布のときに使われます。

決定係数(R²)は、予測がどれだけ分散を説明できたかを表し、1 に近いほど良いとされます。

R2=1i(yiy^i)2i(yiyˉ)2R^2 = 1 - \frac{\sum_i (y_i - \hat{y}_i)^2}{\sum_i (y_i - \bar{y})^2}
import numpy as np
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score

rmse = np.sqrt(mean_squared_error(y_true, y_pred))
mae = mean_absolute_error(y_true, y_pred)
r2 = r2_score(y_true, y_pred)

ヒント

評価指標が RMSE のコンペで MAE を改善しても順位は上がりません。 コンペの指標と検証の指標を一致させることが、CV を信頼する第一歩です。

理解度チェック#

Quiz外れ値(極端に大きな誤差)の影響を最も強く受ける指標はどれ?

次のステップ#

次は、分類タスクの評価指標(Accuracy / Precision / Recall / F1 / ROC-AUC / LogLoss)を学びます。