我正在 R 上用 Caret 包构建一个随机森林method = "rf"
。我看到每种类型的随机森林caret
似乎只调整mtry
了为每棵树随机选择的特征数量。我不明白为什么max_depth
每棵树都不是可调参数(如购物车)?在我看来,这是一个可以限制过拟合的参数。例如,我的 rf 在训练数据上似乎比测试数据更好:
model <- train(
group ~., data = train.data, method = "rf",
trControl = trainControl("repeatedcv", number = 5,repeats =10),
tuneLength=5
)
> postResample(fitted(model),train.data$group)
Accuracy Kappa
0.9574592 0.9745841
> postResample(predict(model,test.data),test.data$group)
Accuracy Kappa
0.7333333 0.5428571
如您所见,我的模型明显过度拟合。但是,我尝试了很多不同的方法来处理这个问题,但没有任何效果。我在测试数据上的准确率总是 0.7,而在火车数据上的准确率总是 0.95。这就是我想优化其他参数的原因。
我无法分享我的数据来重现这一点。