始める無料で始める

交差検証における限界

極端な回数の交差検証を行いたい場合、nfoldnum_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.____()
コードを編集して実行