tldr
モデルについて学習しました。
モデルとは?
特徴量を入力データとし、予測値を出力する変換器
- 分析コンペでは教師あり学習が基本。
- 学習前にハイパーパラメータを指定する
モデルの学習と予測
- モデルの構築(モデルの種類とハイパーパラメータを指定)
- 学習(学習データ・目的変数を与える)
- 評価
- 予測・評価(テストデータ)
上記のサイクルを回しながら、以下を変更していく。
- 特徴量の追加・変更
- ハイパーパラメータの変更
- モデルの変更
データのイメージ
- 学習データは
n_tr * n_f
の行列 - 目的変数は
n_tr
の配列 - テストデータは
n_te * n_f
の行列 - 予測値は
n_te
の配列
モデルの評価(バリデーション)
一部のデータをバリデーションデータとして分けて検証用とする。
バリデーションデータの作成方法
- クロスバリデーション
モデルに関連する用語とポイント
過学習 (over fitting)
正則化 (regularization)
スコアのモニタリング
Early stopping
Bagging
bootstrap aggregatingの略。
各モデルに使う学習用データをブースストラップサンプリングによって得て、その学習したモデルを予測に用いて最後にアンサンブルする。
Boosting
分析コンペで使用されるモデル
以下の観点からモデルが選択される
- 精度
- 計算速度
- 使いやすさ
- 多様性によってアンサンブルによる精度向上に寄与するか
参考:scikit-learn: Choosing the right estimator