如何减少从插入符号传递给 RF 的默认 ntree=500 参数?
Posted
技术标签:
【中文标题】如何减少从插入符号传递给 RF 的默认 ntree=500 参数?【英文标题】:How can you reduce the default ntree=500 parameter passed to RF from caret? 【发布时间】:2015-09-25 12:55:17 【问题描述】:我相信caret
中的“rf”(randomForest
) 方法将默认树数设置为 500。不幸的是,这会导致时间复杂度对于较大的数据集失去控制。有没有什么快速的方法可以在不创建自定义方法的情况下减少树的数量?我知道 rf 的唯一可调参数是 mtry。
澄清一下:我不想调整树的数量。我只是想将其修复为较低的值,以便我可以在合理的时间内运行 rf。
【问题讨论】:
【参考方案1】:你可以像这样调用train时指定ntree参数:
rf <- train(X, y, method="rf", preProcess=c("center","scale"), ntree=100, trControl=fitControl)
【讨论】:
【参考方案2】:一个建议是使用randomForest
库。一直觉得比caret
中的那个更简单,而且有一个参数可以设置树的数量。
【讨论】:
同意,但我正在尝试使用插入符号方法,因为我已经构建了一个集成方法工作流程,该工作流程利用插入符号提供的统一接口。 这不是一个值得的建议吗:)? 不,这不是一个好建议。插入符号比 RF 增加了更多。解决方案只是通过正确的包装函数 (getImp*
) 传递 ntrees。诚然,插入符号对此非常模糊,并且没有记录 getImp* 是 randomForest 的通用包装器。
是的,我认识到我在上面的评论中有更好的解决方案。但是,不提 randomForest 库是不对的,因此我没有删除答案。或者你认为这是一个“坏”的建议? randomForest库(直接源自Fortran原始代码)是否有问题以上是关于如何减少从插入符号传递给 RF 的默认 ntree=500 参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何将curent_user 从flask-security 传递给可插入的视图函数?
jquery 命名空间:如何将默认选项从一种方法传递给子序列方法?
如何将条件编译符号(DefineConstants)传递给 msbuild
在 R 中使用插入符号进行分类的 predict(model) 和 predict(model$finalModel) 之间的区别