交差検証における限界
極端な回数の交差検証を行いたい場合、nfold と num_boost_round の両方に非常に大きな数を指定できます。データフレーム cv_results_big はすでにワークスペースに読み込まれており、次のコードで作成されています。
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
ここでは、cv() が 600 回の交差検証反復を実行しています。パラメータ shuffle は、各回でレコードをシャッフルするよう関数に指示します。
このデータを確認して AUC がどうなっているかを見て、交差検証で 1.0 に到達しているか確かめてください。テスト AUC スコアをプロットして、その推移も確認しましょう。
データフレーム cv_results_big はワークスペースに読み込まれています。
この演習はコースの一部です
Pythonで学ぶクレジットリスクモデリング
演習の手順
- CV 結果のデータフレームの先頭 5 行を表示します。
- CV 結果のデータフレームからテストセット AUC の平均を小数第 2 位に丸めて表示します。
- 各イテレーションにおけるテストセット AUC の推移を折れ線グラフでプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print the first five rows of the CV results data frame
print(____.____())
# Calculate the mean of the test AUC scores
print(np.____(____[____]).round(2))
# Plot the test AUC scores for each iteration
plt.____(____[____])
plt.title('Test AUC Score Over 600 Iterations')
plt.xlabel('Iteration Number')
plt.ylabel('Test AUC Score')
plt.____()