决策树拆分策略

Posted

技术标签:

【中文标题】决策树拆分策略【英文标题】:Decision Tree Splitting strategy 【发布时间】: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 的决策树选择了第一个场景而不是第三个(请查看图片)。

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于决策树拆分策略的主要内容,如果未能解决你的问题,请参考以下文章

CART 决策树中的冲突拆分

确定 sklearn 决策树中的拆分数量

“拆分属性”可以在决策树中出现多次吗?

分类/决策树和选择拆分

创建决策树和拆分属性有问题吗?

用于返回下一个特征以拆分树的决策树实现