我正在使用CARET包来微调随机森林mtry参数 . 在包中,tunelength参数可用于自动搜索最佳mtry参数 . 但问题是当我在交叉验证中设置最小2倍时,“tunelength”有效 . 当我不想要交叉验证时,它不起作用 .
ctrl <- trainControl(method = "cv", classProbs = TRUE, summaryFunction = twoClassSummary, number = 2)
set.seed(2)
trained <- train(Y ~ . , data = mydata, method = "rf", ntree = 500, tunelength = 10, metric = "ROC", trControl = ctrl, importance = TRUE)
有人知道tunelength的默认设置吗?我的意思是mtry的哪个值,它将从哪个开始 .
2 回答
我想你不明白参数调整是什么意思 . 您希望选择最佳的参数组合来改善某些质量测量 . 问题是这个质量测量不能在训练集本身上计算,因为这会导致过度拟合 . 交叉验证可以精确地为您提供无偏估计的质量指标 .
我不确定"does not work"的含义 . 如果您不进行重新采样,则确定
mtry
的方法并不多 . 您可以在trainControl
中使用method = "OOB"
并使用内部随机森林估计并以与之前相同的方式设置tuneLength
(有关详细信息,请参阅这些two pages) .同样,我不确定这是否能回答你的问题 .
马克斯