决策树拆分策略

时间:2019-12-24 12:14:40

标签: machine-learning scikit-learn classification decision-tree gini

我有一个具有4个分类特征的数据集(胆固醇,收缩压,舒张压和吸烟率)。我使用决策树分类器找到中风的可能性。

我正在尝试验证我对Python Sklearn完成的拆分过程的理解。

由于它是二叉树,因此可以通过三种可能的方式拆分第一个特征,即将类别{0和1划分为一个叶子,将2划分为另一个叶子}或{0和2,1}或{ 0、1和2}。我所知道的(请在这里对我进行纠正)是所选择的分割是信息增益最小的分割(基尼杂质)。

我已经计算出三种分组情况中每种情况的信息增益:

{0 + 1 , 2} --> 0.17

{0 + 2 , 1} --> 0.18

{1 + 2 , 0} --> 0.004

但是,sklearn的决策树选择了第一种情况而不是第三种情况(请检查图片)。

任何人都可以帮助阐明选择原因吗?产生纯节点的拆分是否有优先级?因此选择这样的方案,尽管它获得的信息较少?

enter image description here

1 个答案:

答案 0 :(得分:0)

该算法根据最大化信息增益(=最小化熵)进行分割: https://scikit-learn.org/stable/modules/tree.html#tree-algorithms-id3-c4-5-c5-0-and-cart