精度指標:回帰モデル

Python によるモデル検証

Kasey Jones

Data Scientist

回帰モデル

回帰モデルは連続変数を扱います。例:得点、ガロン数、子犬の数など

Python によるモデル検証

平均絶対誤差(MAE)

 

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

  • 最も簡単で直感的な指標
  • すべての点を同等に扱う
  • 外れ値に鈍感
Python によるモデル検証

平均二乗誤差(MSE)

 

$$ MSE = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i) ^2}{n} $$

  • 最も広く使われる回帰指標
  • 外れ値の誤差が全体誤差へ強く影響
  • 家族の突発的な長距離ドライブは予測誤差を大きくしうる
Python によるモデル検証

MAE と MSE の比較

  • 精度指標は常に用途依存
  • MAEとMSEは単位が異なり比較不可
Python によるモデル検証

平均絶対誤差

rfr = RandomForestRegressor(n_estimators=500, random_state=1111)
rfr.fit(X_train, y_train)
test_predictions = rfr.predict(X_test)

sum(abs(y_test - test_predictions))/len(test_predictions)
9.99
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, test_predictions)
9.99
Python によるモデル検証

平均二乗誤差

sum(abs(y_test - test_predictions)**2)/len(test_predictions)
141.4
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test, test_predictions)
141.4
Python によるモデル検証

データ部分集合での精度

chocolate_preds = rfr.predict(X_test[X_test[:, 1] == 1])
mean_absolute_error(y_test[X_test[:, 1] == 1], chocolate_preds)
8.79
nonchocolate_preds = rfr.predict(X_test[X_test[:, 1] == 0])
mean_absolute_error(y_test[X_test[:, 1] == 0], nonchocolate_preds)
10.99
Python によるモデル検証

練習してみましょう

Python によるモデル検証

Preparing Video For Download...