交差検証
交差検証は、モデルのホールドアウト性能を確認するための手法です。テスト結果がデータの分割の偏りによるものではないことを確かめる目的で行います。この演習では、sklearn の実装を用いて、KFold() モジュールで K-Fold 交差検証を設定し、決定木に対して適合率(precision)と再現率(recall)を評価します。
ワークスペースには X_train、y_train、X_test、y_test が用意されています。pandas は pd、numpy は np、sklearn も利用可能です。さらに、sklearn.model_selection から KFold() と cross_val_score() も使用できます。
この演習はコースの一部です
PythonでMachine Learningを使ってCTRを予測する
演習の手順
- 決定木分類器を作成します。
- 分割数を4とする K-Fold 交差検証を設定し、
k-foldに代入します。 k_foldを使ってcross_val_score()により交差検証を実行し、モデルの適合率(precision)と再現率(recall)を評価します(recall_score()やprecision_score()は使用しないでください)。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))