【发布时间】:2020-04-15 12:46:18
【问题描述】:
我有一个包含 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 的决策树选择了第一个场景而不是第三个(请查看图片)。
任何人都可以帮助澄清选择的原因吗?是否存在导致纯节点的拆分的优先级。因此选择这样的场景虽然它的信息增益较少?
【问题讨论】:
标签: machine-learning scikit-learn classification decision-tree gini