随机森林如何调参?

  统计/机器学习 监督式学习 模型验证    浏览次数: 1877
6

我知道是通过交叉验证来比较不同参数下模型的好坏,但是有没有大致的调参的方向?哪些参数尤其重要?

 

机器小白   2017-04-24 14:05



   3个回答 
9

树的数量m:m越大越好,但是太大会影响训练速度。


树的最大深度d:d越大,越容易过拟合;越小,越容易欠拟合。如果d没有上限,那么每棵树都会是一棵完整的决策树,设置了d,相当于给树进行了剪枝


特征数量f:假设数据集一共有p个特征,树的每次分叉会随机使用f个特征,f一般设定为sqrt(p),但是也可以设定为任意数值。f越大,每棵树越像,为了增加多样性,f一般不会接近p。除了设置为固定值外,也通常可以设定为0.3*p,0.5*p等。


叶节点最小样本数量s:当某个节点上的样本数量小于s时,树就停止生长,s越小,单个决策树越容易过拟合。设置一个较大的s,也有剪枝的作用,s=5,10,50,都很常见。



不同的数据集可能有不同的最佳参数,有的最佳参数也许也很反常。但是归根结底,利用交叉验证来调整参数,选择最佳的参数组合才是最可靠的随机森林调参方法。


----更新----

上文根据Zealing的指正,已经修改。


数据痴汉   2017-05-10 23:32

谢谢痴汉! - 机器小白   2017-05-12 11:45
你回答中关于特征数量f,有问题。应该是每个节点分裂时,随机选出f个特征,然后再其中一个特征上找出最好的分裂。换句话,每棵树能见到所有的特征,而每个节点只能看见随机的f个特征。 - Zealing   2018-03-15 13:55
感谢,看来我一直对RF的这点也存在误解 - dzzxjl   2018-03-15 15:49
谢谢Zealing的指正,我去看了下,你说的对的。我修改下答案。 - 数据痴汉   2018-03-16 13:48
4

对@数据痴汉 提到的这几个参数进行grid search,然后对比cross validation之后的结果。


sasa   2017-05-12 22:31

0

也可以参考xgb调参的方法


abuu   2017-09-14 22:47



  相关主题

求问:Cart分类树为什么是基尼指数最小化准则   1回答

随机森林(random forest)和支持向量机(SVM)各有什么优劣   1回答

决策树是如何得到量化的概率,不只是0或1的标签?   2回答

决策树的熵是什么?怎么用熵来选分叉?   1回答

决策树怎么做增量学习或者online学习?   1回答

决策树算法ID3,C4.5和CART的特点、异同?   3回答

剪枝是什么意思   1回答

决策树可以做多元分类吗?   1回答

Gradient tree boosting和random forest (随机森林) 有什么区别和联系   1回答

Adaboost里的树有没有可能权重是负数?   1回答

决策树的深度和数据特征个数的关系   1回答

决策树剪枝有什么策略或者注意事项?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!