使用自訂 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
練習說明
- 使用上一題建立的自訂
trainControl(myControl),在overfit資料上訓練一個名為model的glmnet模型。變數y是應變數,其他所有變數都是自變數。 - 將模型列印到主控台。
- 使用
max()函式,找出位於model[["results"]]某處的 ROC 統計量之最大值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Fit glmnet model: model
model <- train(
___,
___,
method = "glmnet",
trControl = ___
)
# Print model to console
# Print maximum ROC statistic