在sklearn集合和树中连续变量的分组

Run*_*un2 5 python machine-learning decision-tree scikit-learn ensemble-learning

谁能告诉我sklearn(Python)中的合奏(如Random Forest,Gradient Boosting,Adaboost)和树(如决策树)如何处理连续变量?在建造树木时,它们是否被视为每个单独的价值?或者它们是否会被自动分类?如果它们被装箱 - 那么逻辑是什么.如果他们没有装箱,我相信我错过了什么.应该有一些智能分箱可用(内置?),它将根据类分布将变量值分类到箱中(至少在二进制分类的情况下)

深入:当我加载我的arff(在高度倾斜的数据集中的数百万行和几百个特征)时,在weka中,并滚动浏览变量/目标(二进制)图,我可以看到它们中的许多都有很强的垃圾箱(目标为正的区域).这些箱子即> = x <= y是否由sklearn中提到的上述型号自动拾取?参见附图(如果你能看到它在变量/目标图中有6条非常细的红线)

对此有任何见解真的很感激

问候

在此输入图像描述

Fre*_*Foo 5

使用默认设置(非随机拆分),每次通过拆分数据集生成决策或回归树时,所考虑的数据集的部分将按照所考虑的每个要素的值进行排序(随机排列)林或ExtraTrees林,每次可以随机选择功能).然后将每对相邻f[i], f[j]特征值的平均值视为候选分割,除非该对小于1e-7(当前在代码中硬连线的任意常数).根据基尼/熵/其他分割标准,最佳分割用于将数据集分割为f < (f[i] + f[j]) / 2具有较高值的那些点和具有较高值的那些点f.

Iow,没有执行明确的分箱.

(我实际上并不是决策树专家,但我确实在scikit-learn实现上工作,特别是我通过为它编写更快的排序算法来优化分裂代码.)