随机森林需要多少棵树?

数据挖掘 Python 随机森林 训练 python-3.x 网格搜索
2022-03-01 15:56:01

起初,我做了一个 GridsearchCV,发现最好的参数是 100,即只有 100 棵树的随机森林。我的火车有 80,000 行和 669 列。我的测试集有 20,000 行和 669 列。

这么少的树怎么可能就够了?

2个回答

通过其他帖子,这似乎是您对随机森林的 n_estimators 没有清晰的直觉。

我将假设您指的是 n_estimators (来自另一个问题)。n_estimators 是您的“森林”拥有的树木数量。不是你树的深度。那是另一个参数。

如果您指的是 max_depth = 100, 100 分割可能很多。随意绘制一棵树,看看它在做什么。看到这个链接

行数和列数不一定重要,重要的是问题的复杂性。

我的 2 美分:我喜欢挑战 max_leaf_nodes(在本例中为 5)然后将其可视化。我建议从 3 开始,然后稍微增加它(这同样适用于你的随机森林)。一般来说,在 5 左右,我看到过拟合。对于您的大型数据集,您可能需要更多(即 max_leaf_nodes = 10?)。

为什么?或者你的问题的答案......那些基于树的算法能够非常快速地捕捉高度非线性问题,但随后开始过度拟合。

在此处输入图像描述

在此处输入图像描述