所以我是机器学习的初学者,刚开始学习这篇文章中的随机树。当它谈到调优超参数K时,我对它是如何工作的感到有点困惑。上面写着:
参数K表示在每个节点筛选以生成额外树的随机分裂的数目。它可以在区间1,.N中选择,其中n是属性的数目。
所以,K是决定一个随机分裂要考虑多少属性的数字。然后要拆分,将从该集合中选择一个随机属性?但我想知道的是:
如果K > 1,在给定的属性集1,2,3,4,1,n中,它总是大小K的一个连续子集吗?还是从这些n个属性中选择K个随机属性?一旦你从这个子集中选择了一个随机属性,它就会被替换还是被删除?
它还说:
对于给定的问题,K越小,树的随机性越强。
我搞不懂这是为什么。
发布于 2019-08-10 12:52:30
所以,K是决定一个随机分裂要考虑多少属性的数字。然后要拆分,将从该集合中选择一个随机属性?
不,每个随机选择的特征都被随机分割,并且这些K电位分裂被评分,最高的一个是得分。
如果K > 1,在给定的属性集1,2,3,4,1,n中,它总是大小K的一个连续子集吗?还是从这些n个属性中选择K个随机属性?一旦你从这个子集中选择了一个随机属性,它就会被替换还是被删除?
我们选择K随机属性,不一定(也可能不是)连续的。我认为最初的算法选择不替换,而在sklearn中的实现肯定是不替换的。不过,我可以想象另一个决定使用替换的实现:尽管如此,该特性的拆分点在两种选择之间可能有所不同。(另一个警告是,对于当前节点中的所有用户来说,所选的特性是常量的:应该忽略这些特性,而且可能是特定于实现的特性,究竟是选择一个新特性还是最终比K少。)
它还说:对于一个给定的问题,K越小,树的随机性越强,我对为什么会这样感到困惑。
K越小,拆分的特性就越少,因此算法对这些随机选择的依赖越大(并且不太可能锁定到有噪声的、虚假的相关性)。与一个完整的决策树模型相比,该模型考虑了每个特征的每个切分点。
发布于 2020-01-12 18:53:52
我的2美分:我强烈建议显示所有的参数,如标准,max_depth,max_leaf_nodes.为了学习树算法。根据我的经验,你会学到很多东西,比如过度适应。

https://datascience.stackexchange.com/questions/57248
复制相似问题