[Decision Tree] H(D) & IG & IGR

熵 (Entropy)

核心思想: 熵是信息论中用于衡量一个随机变量的**不确定性(uncertainty)纯度(purity)**的指标。一个数据集的熵越高,表示其内部的混乱程度或不确定性越大;熵越低,表示其内部越有序,纯度越高。

熵 衡量一个数据集 的纯度

直观理解:

  • 高熵(混乱) :如果你在一个袋子里,红球、绿球、蓝球各占三分之一,那么你随便摸出一个球,很难确定它是什么颜色,这个袋子的"不确定性"就很高,熵值就大。
  • 低熵(纯净) :如果袋子里99%都是红球,只有少量绿球,你随便摸出一个球,基本可以确定是红球,这个袋子的"不确定性"就低,熵值就小。
  • 零熵(完全纯净) :如果袋子里全是红球,你摸出的必然是红球,没有任何不确定性,熵值就是0。

IG (Information Gain)

信息增益: 在知道(已知)某个特征A 后,数据集不确定性减少了多少。 通俗来说,就是通过特征A对该数据集D进行划分后,能够带来多少"信息",从而使得D变得更"纯"了。

信息增益越大,说明使用该特征进行划分的D的效果越好。
直观理解:

  • 想象你有一堆混合的水果(苹果、香蕉、橙子),熵很高(很混乱)。
  • 现在你用"颜色"这个特征来划分:红色的放一堆,黄色的放一堆,绿色的放一堆。
  • 如果红色的那一堆主要是苹果,黄色的主要是香蕉,绿色的主要是青苹果,那么"颜色"这个特征就为你提供了很多信息,使得每一堆水果都变得更纯了。这种纯度的提升就是信息增益。
  • 如果按"形状"划分,结果每堆里还是苹果香蕉橙子混着,那"形状"提供的信息增益就小。

选择标准: (特征选取) 在ID3算法 中,决策树生成时,总是选择信息增益最大特征 作为当前节点的分裂特征

相关推荐
XFF不秃头几秒前
力扣刷题笔记-下一个排列
c++·笔记·算法·leetcode
Lv11770081 分钟前
Visual Studio中Array数组的常用查询方法
笔记·算法·c#·visual studio
hn小菜鸡6 分钟前
LeetCode 1306.跳跃游戏III
算法·leetcode·游戏
Swift社区7 分钟前
LeetCode 450 - 删除二叉搜索树中的节点
算法·leetcode·职场和发展
长安er12 分钟前
LeetCode 46/51 排列型回溯题笔记-全排列 / N 皇后
笔记·算法·leetcode·回溯·递归·n皇后
天赐学c语言12 分钟前
12.16 - 全排列 && C语言中声明和定义的区别
c++·算法·leecode
LYFlied13 分钟前
【每日算法】LeetCode 146. LRU 缓存机制
前端·数据结构·算法·leetcode·缓存
野生技术架构师20 分钟前
Java面试题及答案总结(互联网大厂新版)
java·面试·状态模式
a努力。22 分钟前
小红书Java面试被问:ThreadLocal 内存泄漏问题及解决方案
java·jvm·后端·算法·面试·架构
测试老哥26 分钟前
2026软件测试面试大全(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例