机器学习进阶(9.5):决策树补充

张开发
2026/4/3 20:42:28 15 分钟阅读
机器学习进阶(9.5):决策树补充
第 9.5 篇信息增益、基尼指数到底是什么——决策树为什么知道该先问哪个问题第九篇我们讲了决策树直觉每次分裂节点都是在找一个“问题”让样本分得尽量纯。那问题来了决策树怎么知道该先问哪个特征为什么它会选择作业完成率而不是学习时长这就要讲到信息增益和基尼指数了。1. 信息熵衡量不确定性信息熵Entropy用来衡量数据的“混乱程度”H ( D ) − ∑ k 1 K p k log ⁡ 2 p k H(D) -\sum_{k1}^{K} p_k \log_2 p_kH(D)−k1∑K​pk​log2​pk​(D) 是当前节点的数据集(K) 是类别数量(p_k) 是类别 (k) 在节点中的比例直觉理解节点里全是同一类熵 0完全确定节点里各类均匀熵最大不确定性最大2. 信息增益问一个特征能减少多少混乱假设节点 (D) 要根据特征 (A) 来分裂成几个子节点 (D_1, D_2, \dots, D_n)信息增益定义为I G ( D , A ) H ( D ) − ∑ i 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) IG(D, A) H(D) - \sum_{i1}^{n} \frac{|D_i|}{|D|} H(D_i)IG(D,A)H(D)−i1∑n​∣D∣∣Di​∣​H(Di​)先算分裂前的熵 (H(D))再算加权后的各子节点熵之和差值就是信息增益直觉信息增益越大说明这个特征分裂之后样本越纯越能“回答问题”。决策树就是选择信息增益最大的特征来分裂。3. 基尼指数另一种纯度衡量信息增益用熵也可以用基尼指数 (Gini Index)G i n i ( D ) 1 − ∑ k 1 K p k 2 Gini(D) 1 - \sum_{k1}^{K} p_k^2Gini(D)1−k1∑K​pk2​节点里全是一类Gini 0节点里均匀混合Gini 越大它和熵的作用类似也是衡量纯度。很多决策树库包括 sklearn默认用基尼指数因为计算稍快。4. 举个小例子假设一个节点有 6 个样本3 个“通过”3 个“不通过”。基尼指数G i n i 1 − ( 0.5 2 0.5 2 ) 0.5 Gini 1 - (0.5^2 0.5^2) 0.5Gini1−(0.520.52)0.5如果根据作业完成率 67.5 分裂左边 [3,0] → Gini 0右边 [0,3] → Gini 0加权后的 Gini 0 → 纯度最大所以决策树就会选作业完成率做第一步分裂。5. 小结信息熵和基尼指数都是衡量节点纯度的工具决策树通过计算每个特征的纯度提升来选择分裂特征原理上树就是在不断“问问题让数据更干净”理解了这个原理看到树结构和公式就能对号入座。

更多文章