1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ caret を使った Machine Learning

Connected

演習

カスタム trainControl で glmnet を適合させる

カスタムの trainControl オブジェクトが用意できたので、"don't overfit" データセットに glmnet モデルを適合させましょう。動画でも触れたとおり、glmnet は一般化線形回帰モデル(glm)を拡張し、係数の大きさに制約を加えることで過学習を防ぎます。これは一般に「ペナルティ付き」回帰と呼ばれ、多数の説明変数に対してサンプル数が少ないデータセットでとても有効な手法です。

glmnet では、alpha パラメータで制御される2種類のペナルティ付きモデルを学習できます。

  • リッジ回帰(alpha = 0)
  • ラッソ回帰(alpha = 1)

ここでは、caret パッケージが提供するデフォルト設定を使って、"don't overfit" データセットに glmnet モデルを適合させます。

指示

100 XP
  • overfit データに対して glmnet モデルを学習し、model という名前で保存します。前の演習で作成したカスタムの trainControl(myControl)を使ってください。目的変数は y、それ以外はすべて説明変数です。
  • モデルをコンソールに出力してください。
  • model[["results"]] のどこかに含まれる ROC 統計量の最大値を、max() 関数で求めてください。