1. 学ぶ
  2. /
  3. コース
  4. /
  5. HRアナリティクス:Pythonで従業員離職を予測する

Connected

演習

sklearn を使ったクロスバリデーション

第2章で説明したとおり、データセットの過学習はアナリティクスでよくある問題です。モデルがデータに過度に適合してしまい、学習に使ったデータでは高い性能を出す一方で、外部のデータにはうまく一般化できない状態を指します。

第2章で学んだ train/test 分割は、学習データへの過学習を防ぐのに有効ですが、ハイパーパラメータチューニングを行うと、テストデータに合わせ込みすぎて過学習する可能性があります。テストセットで最良の予測結果を得るようにモデルを調整するからです。そこで、異なるテストセットでモデルを検証することが推奨されます。K-fold クロスバリデーションはこの目的に適しています。

  • データセットを学習用とテスト用に分割します
  • モデルを学習し、予測を行い、スコアを計算します(正解率、適合率、再現率などを指定できます)
  • この処理を合計 k 回繰り返します
  • 10 個のスコアの平均を出力します

この演習では、データセットに対してクロスバリデーションを実行し、cross_val_score 関数で結果を評価します。

指示

100 XP
  • クロスバリデーションを実行する関数 cross_val_score() を、モジュール sklearn.model_selection からインポートします。
  • cv ハイパーパラメータで分割数を 10 に指定し、モデルのクロスバリデーションスコアを出力してください。