モデル検証の導入

Python によるモデル検証

Kasey Jones

Data Scientist

モデル検証とは?

モデル検証とは次のことです:

  • 新しいデータでも期待どおりに動作するか確認
  • ホールドアウトデータで性能を評価
  • 最適なモデル・パラメータ・評価指標を選定
  • 与えられたデータで最高の精度を達成
Python によるモデル検証

scikit-learn のモデリング復習

基本的なモデリング手順:

model = RandomForestRegressor(n_estimators=500, random_state=1111)

model.fit(X=X_train, y=y_train)
RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
           max_features='auto', max_leaf_nodes=None,
           min_impurity_decrease=0.0, min_impurity_split=None,
           min_samples_leaf=1, min_samples_split=2,
           min_weight_fraction_leaf=0.0, n_estimators=500, n_jobs=1,
           oob_score=False, random_state=1111, verbose=0, warm_start=False)
Python によるモデル検証

モデリング復習(続き)

predictions = model.predict(X_test)

print("{0:.2f}".format(mae(y_true=y_test, y_pred=predictions)))
10.84

平均絶対誤差 (MAE) の式

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

Python によるモデル検証

前提知識の復習

Python によるモデル検証

Fivethirtyeight には複数のデータセットがあり、ハロウィン菓子のランキングも含まれます。各菓子には 0〜100% の一騎打ち勝率があります。

Python によるモデル検証

既知データ vs. 未知データ

学習データ = 既知データ

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
train_predictions = model.predict(X_train)

テストデータ = 未知データ

model = RandomForestRegressor(n_estimators=500, random_state=1111)
model.fit(X_train, y_train)
test_predictions = model.predict(X_test)
Python によるモデル検証

始めましょう!

Python によるモデル検証

Preparing Video For Download...