KFold のインデックスを使う
すでに splits を作成しており、candy-data データセットに対する 5 分割のクロスバリデーション用インデックスが入っています。ある同僚のランダムフォレストモデルが新しいデータでどの程度うまく動くかをより正確に見積もるため、作成した5つの学習用・検証用インデックスそれぞれでこのモデルを実行したいと考えています。
この演習では、これらのインデックスを使って、5つの異なる分割それぞれでこのモデルの精度を確認します。手順を助けるための for ループが用意されています。
この演習はコースの一部です
Python によるモデル検証
演習の手順
- 学習データと検証データを作成する際、
train_indexとval_indexを使ってXとyの正しいインデックスを参照してください。 - 学習用データセットを使って
rfcを学習させます。 rfcを使って検証用データセットに対する予測を作成し、検証精度を出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
rfc = RandomForestRegressor(n_estimators=25, random_state=1111)
# Access the training and validation indices of splits
for train_index, val_index in splits:
# Setup the training and validation data
X_train, y_train = X[____], y[____]
X_val, y_val = X[____], y[____]
# Fit the random forest model
rfc.____(____, ____)
# Make predictions, and print the accuracy
predictions = rfc.____(____)
print("Split accuracy: " + str(mean_squared_error(y_val, predictions)))