首页 文章

采用Caret封装的微调模型

提问于
浏览
0

我正在使用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 回答

  • 0

    我想你不明白参数调整是什么意思 . 您希望选择最佳的参数组合来改善某些质量测量 . 问题是这个质量测量不能在训练集本身上计算,因为这会导致过度拟合 . 交叉验证可以精确地为您提供无偏估计的质量指标 .

  • 2

    但问题是当我在交叉验证中设置最小2倍时,“tunelength”有效 . 当我不想要交叉验证时,它不起作用 .

    我不确定"does not work"的含义 . 如果您不进行重新采样,则确定 mtry 的方法并不多 . 您可以在 trainControl 中使用 method = "OOB" 并使用内部随机森林估计并以与之前相同的方式设置 tuneLength (有关详细信息,请参阅这些two pages) .

    同样,我不确定这是否能回答你的问题 .

    马克斯

相关问题