使用插入符号在随机森林中显式设置 ntree 和 mtry
Setting ntree and mtry explicitly in Random Forest with caret
我正在尝试将树的数量和 mtry
显式传递到带有插入符的随机森林算法中:
library(caret)
library(randomForest)
repGrid<-expand.grid(.mtry=c(4),.ntree=c(350))
controlRep <- trainControl(method="cv",number = 5)
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
tuneGrid = repGrid,)
我收到这个错误:
Error: The tuning parameter grid should have columns mtry
我先尝试了更明智的方法:
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
ntree=350,
mtry=4,
tuneGrid = repGrid,)
但这导致了一个错误,指出我的超参数太多了。这就是我尝试制作 1x1 网格的原因。
ntree
不能是随机森林 tuneGrid
的一部分,只能是 mtry
(参见每个模型的调整参数的详细目录 here);你只能通过 train
传递它。反之,既然你调 mtry
,后者就不能成为 train
.
的一部分
总而言之,这里的正确组合是:
repGrid <- expand.grid(.mtry=c(4)) # no ntree
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
ntree=350,
# no mtry
tuneGrid = repGrid,)
我正在尝试将树的数量和 mtry
显式传递到带有插入符的随机森林算法中:
library(caret)
library(randomForest)
repGrid<-expand.grid(.mtry=c(4),.ntree=c(350))
controlRep <- trainControl(method="cv",number = 5)
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
tuneGrid = repGrid,)
我收到这个错误:
Error: The tuning parameter grid should have columns mtry
我先尝试了更明智的方法:
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
ntree=350,
mtry=4,
tuneGrid = repGrid,)
但这导致了一个错误,指出我的超参数太多了。这就是我尝试制作 1x1 网格的原因。
ntree
不能是随机森林 tuneGrid
的一部分,只能是 mtry
(参见每个模型的调整参数的详细目录 here);你只能通过 train
传递它。反之,既然你调 mtry
,后者就不能成为 train
.
总而言之,这里的正确组合是:
repGrid <- expand.grid(.mtry=c(4)) # no ntree
rfClassifierRep <- train(label~ .,
data=overallDataset,
method="rf",
metric="Accuracy",
trControl=controlRep,
ntree=350,
# no mtry
tuneGrid = repGrid,)