决策树通过依次提出一连串问题来进行预测,比如“完成了练习测验吗?”或“收入高于 吗?”在分类树中,最好的问题通常是能让子节点比父节点更不混杂的问题。这正是熵和基尼不纯度发挥作用的地方。
随机森林使用的是同样的基本思想,但它不是只依赖一棵树,而是对很多棵树的结果取平均。如果你只想记住核心概念,那就是:熵和基尼帮助决策树选择划分,而随机森林帮助降低单棵树的不稳定性。
决策树中的熵和基尼衡量什么
熵和基尼不纯度都是衡量一个分类节点有多混杂的方法。
如果一个节点中各类别的概率为 ,那么一种常见的熵公式是
这个公式用于分类树。对数的底数只会改变数值尺度,但不会改变哪个划分更优的排序。
基尼不纯度为
当一个节点完全纯净时,这两个指标都等于 。当类别混合得越厉害时,它们的值都会变大。
在实际中,熵和基尼通常会对候选划分给出相近的排序。熵有直接的信息论解释,而基尼计算起来稍微更简单一些。
决策树如何选择划分
对于熵,一个常见规则是信息增益:
这里, 是父节点中的样本数, 是第 个子节点中的样本数。
对于基尼,思路是平行的:计算子节点加权后的不纯度,并优先选择让它下降最多的划分。
这里的条件很重要:熵和基尼是分类树的标准指标。回归树通常使用不同规则,比如方差下降,因为目标是数值而不是类别。
例题:一次划分中的熵与基尼
假设某个节点中有 个用于“通过/未通过”预测的训练样本:
- 个是通过
- 个是未通过
因此,父节点是均匀混合的。
它的熵为
它的基尼不纯度为
现在测试划分“完成了练习测验吗?”
- 是分支: 个样本,其中 个通过, 个未通过
- 否分支: 个样本,其中 个通过, 个未通过
对于“是”分支,
以及
对于“否”分支,该节点是纯净的,所以
划分后的加权熵为
所以信息增益为
划分后的加权基尼为
所以基尼下降量为
这两个指标都说明,这个划分优于不划分父节点,因为两种情况下加权不纯度都下降了。
为什么决策树在直觉上说得通
树模型容易阅读,因为它模仿了人们解释决策时常用的方式:“如果这个条件成立,就往左;否则,就往右。”因此,当你需要一个可以检查、解释,或转化为人类可读规则的模型时,决策树会很有用。
它们也很灵活。决策树可以捕捉非线性模式和特征之间的交互,而不必用一个全局方程去强行描述整个数据集。
为什么随机森林通常效果更好
单棵树容易解释,但它可能不稳定。数据发生一点小变化,就可能生成明显不同的树。
随机森林通过构建很多棵树而不是一棵树,来降低这种不稳定性。常见做法是:
- 对每棵树都从训练数据中进行有放回抽样
- 在每次划分时只考虑随机选取的一部分特征
- 汇总多棵树的预测结果
对于分类,随机森林通常采用多数投票。对于回归,它通常对各棵树的输出取平均。
这种权衡很直接。随机森林通常比单棵树更准确、更稳定,但也更难像一组清晰规则那样解释。
决策树中的常见错误
把熵和基尼当成不同类型的预测模型
它们是划分准则,不是不同的模型家族。无论使用哪一种,模型本质上仍然是决策树。
忘记它只适用于分类这一条件
熵和基尼是分类树的标准指标。如果目标是数值,树通常会改用基于方差或误差的规则。
过度追求完美纯度
如果你一直划分,直到训练集上的每个叶节点几乎都完美无误,这棵树就可能过拟合。深度限制、叶节点最小样本数或剪枝都有其存在的理由。
以为随机森林也能自我解释
随机森林通常预测更好,但透明度低于单棵树。如果可解释性是首要要求,那么一棵经过精心控制的树仍可能是更好的工具。
什么时候使用决策树或随机森林
决策树广泛出现在金融、医学、运营、营销以及许多其他应用场景中的分类和回归任务里。当输入与输出之间的关系无法被直线模型很好描述,且规则式解释又很重要时,它们尤其有用。
当可解释性最重要,并且你需要检查完整决策路径时,使用单棵树。当预测质量和稳定性比拥有一棵可以逐行阅读的紧凑树更重要时,使用随机森林。
试着做一道类似题
找一个只有两个类别的小型带标签数据集,测试两种可能的第一次划分。计算每个子节点中的类别比例,然后比较加权熵或加权基尼。亲手算一个小例子,往往是理解划分逻辑最快的方法。