澄清在额外的树中分割单个树?

数据挖掘 随机森林 决策树
2022-02-14 20:34:13

所以我是机器学习的初学者,刚开始在这篇文章中学习随机树。当谈到调整超参数K时,我对它的工作原理有点困惑。它说:

参数 K 表示在每个节点筛选的随机分割数以开发额外树。它可以在区间 [1, ... , n] 中选择,其中 n 是属性的数量。

所以K将是决定随机拆分考虑多少属性的数字。然后拆分,从该集合中选择一个随机属性?但我想知道的是:

如果K > 1,在给定的一组属性[1,2,3,4,...,n]中,它是否总是大小为K的连续子集还是从这n 个属性中选择的K个随机属性?一旦您从该子集中选择了一个随机属性,它会被替换还是被忽略?

它还说:

对于给定的问题,K越小,树的随机化越强

我很困惑为什么会这样。

2个回答

所以 K 将是决定随机拆分考虑多少属性的数字。然后拆分,从该集合中选择一个随机属性?

不,对每个随机选择的特征进行随机拆分,并且这些K对潜在的分裂进行评分,并做出最高得分的分裂。

如果 K > 1,在给定的一组属性 [1,2,3,4,...,n] 中,它总是大小为 K 的连续子集吗?还是从这 n 个属性中选择的 K 个随机属性?一旦您从该子集中选择了一个随机属性,它会被替换还是被忽略?

我们选择K随机属性,不一定(也可能不)连续。我认为原始算法选择不替换,而实现sklearn肯定是不替换。我可以想象另一种实现决定用替换来做:仍然该功能的分割点在两个选择之间可能不同。(One more caveat is when a selected feature is constant for the population in the current node: these should be left out, and probably it is implementation-specific whether to select a new feature or just have fewer thanK到底。)

它还说:

对于给定的问题,K越小,树的随机化越强

我很困惑为什么会这样。

越小K也就是说,您为拆分考虑的特征越少,因此算法越依赖这些随机选择(并且不太可能锁定嘈杂的虚假相关性)。与一个完整的决策树模型相比,其中每个特征的每个分割点都被考虑在内。

我的 2 美分:我强烈建议显示所有参数,例如标准、max_depth、max_leaf_nodes ......以便学习树算法。根据我的经验,你会学到很多,比如过拟合。

在此处输入图像描述