Yam*_*mar 2 r random-forest r-caret
我正在使用 R(和 Rstudio)rf从caret包中训练模型。训练数据集是一个包含 76k 行和 291 列的数据框。我的代码如下:
library(caret)
myTrControl <- trainControl(method = "repeatedcv",
number = 5,
repeats = 3,
p = 0.75,
classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(64)
myRF <- train(x = myTrain[ , -c(1, 291)],
y = myTrain$TARGET,
data = myTrain,
method = "rf",
metric = "ROC",
maximize = TRUE,
trControl = myTrControl)
Run Code Online (Sandbox Code Playgroud)
它已经运行了 24 小时。有什么方法可以估计需要多长时间?
我读的caret文件,我应该可能已经设置verboseIter = TRUE在trainControl拿到发生了什么事情,而其计算的一些信息。我想没有“同时计算”的方式来请求进度信息,对吗?
而第三个问题:是否有内的任何其他参数trainControl和train我应该经常使用来获取计算的信息,而这是在进步吗?
谢谢!
由于某些因素,除了 76k 记录和 291 列之外,这需要时间。
您的设置是重复 3 次的 5 倍 cv,但由于未指定网格,因此正在使用 train 中的 tunelength 选项。这有一个默认的 op 3。现在发生的是你有 5 倍的 cv 重复了 3 次,并调整了 3 个不同的 mtry 值。因此,它总共将训练 5*3*3 = 45 个训练课程 + 当然对坚持进行 45 次测试。在此之后,它将根据 cv 后的调整参数的选择在完整训练集上进行 1 个最终训练集。
并进一步回答您的问题: