探索更廣的模型空間

使用 R 的 caret 進行 Machine Learning

Zach Mayer

Data Scientist at DataRobot and co-author of caret

隨機森林需要調參

  • 超參數決定模型如何擬合
  • 在擬合前「手動」選定
  • 最重要的是 mtry
    • 每次分割隨機選取的變數數量
  • 值越小=越隨機
  • 值越大=越不隨機
  • 事先很難知道最佳值
使用 R 的 caret 進行 Machine Learning

範例:聲納資料

  • caret::train()tuneLength 參數
  • 告訴 caret 要嘗試多少種變化
# 載入資料
library(caret)
library(mlbench)
data(Sonar)
# 以更深的調參網格擬合模型
model <- train(
  Class ~ ., 
  data = Sonar, 
  method = "ranger", 
  tuneLength = 10
)
# 繪製結果
plot(model)
使用 R 的 caret 進行 Machine Learning

繪製結果

此圖為自助法準確率對隨機選取參數數量的折線圖;在 x = 14 左右達到峰值,之後迅速下降。

使用 R 的 caret 進行 Machine Learning

一起來練習吧!

使用 R 的 caret 進行 Machine Learning

Preparing Video For Download...