始める無料で始める

交差検証

交差検証は、モデルのホールドアウト性能を確認するための手法です。テスト結果がデータの分割の偏りによるものではないことを確かめる目的で行います。この演習では、sklearn の実装を用いて、KFold() モジュールで K-Fold 交差検証を設定し、決定木に対して適合率(precision)と再現率(recall)を評価します。

ワークスペースには X_trainy_trainX_testy_test が用意されています。pandaspdnumpynpsklearn も利用可能です。さらに、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))
コードを編集して実行