0

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

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

因为它是一棵二叉树,所以有三种可能的方法来分割第一个特征,或者将类别 {0 和 1 分组到一个叶子,2 到另一个叶子} 或 {0 and 2, 1} 或 {0, 1和 2}。我所知道的(请在此处纠正我)是选择的拆分是信息增益最少的拆分(基尼杂质)。

我已经计算了三个分组场景中的每一个的信息增益:

{0 + 1 , 2} --> 0.17

{0 + 2 , 1} --> 0.18

{1 + 2 , 0} --> 0.004

但是,sklearn 的决策树选择了第一个场景而不是第三个场景(请查看图片)。

任何人都可以帮助澄清选择的原因吗?是否存在导致纯节点的拆分的优先级。因此选择这样的场景虽然它的信息增益较少?

在此处输入图像描述

4

1 回答 1

0

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

于 2019-12-25T18:10:02.737 回答