開始使用免費開始

使用自訂 trainControl 擬合 glmnet

現在你已經有自訂的 trainControl 物件,請把 glmnet 模型套用到「don't overfit」資料集。回想影片中提到,glmnet 是廣義線性迴歸模型(glm)的延伸,透過對係數大小加上限制來避免過度擬合。這通常稱為「懲罰式」迴歸(penalized regression),在解決「預測變數很多、樣本數很少」的資料集時非常實用。

glmnet 可以擬合兩種不同的懲罰式模型,透過 alpha 參數控制:

  • Ridge 迴歸(alpha = 0
  • Lasso 迴歸(alpha = 1

接下來你將使用 caret 套件提供的預設設定,將 glmnet 模型套用到「don't overfit」資料集。

本練習屬於課程

使用 R 的 caret 進行 Machine Learning

檢視課程

練習說明

  • 使用上一題建立的自訂 trainControlmyControl),在 overfit 資料上訓練一個名為 modelglmnet 模型。變數 y 是應變數,其他所有變數都是自變數。
  • 將模型列印到主控台。
  • 使用 max() 函式,找出位於 model[["results"]] 某處的 ROC 統計量之最大值。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Fit glmnet model: model
model <- train(
  ___, 
  ___,
  method = "glmnet",
  trControl = ___
)

# Print model to console


# Print maximum ROC statistic
編輯並執行程式碼