西瓜书读书笔记-决策树
本读书笔记跳过一些较为基础的概念,主要记录博主认为比较容易忽略或不好理解的地方和一些不太熟悉的概念
信息熵的概念及其度量
定义:信息是用来消除随机不确定性的东西,信息熵是消除不确定性所需信息量的度量,也即未知事件可能含有的信息量,是所有类别中所有可能值包含的信息期望。
等概率均匀分布: n = l o g 2 m n=log_2m n=log2m(m代表等概率的不确定性情况)
概率不等的一般分布: Ent ( X ) = − ∑ i = 1 n p i log 2 p i , i = 1 , 2 , ⋯ , n \text{Ent}(X)=-\sum_{i=1}^n p_i \log_2 p_i,\quad i=1,2,\cdots,n Ent(X)=−∑i=1npilog2pi,i=1,2,⋯,n
信息增益
Gain ( D , a ) = Ent ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ Ent ( D v ) \text{Gain}(D,a)=\text{Ent}(D)-\sum_{v=1}^V\frac{|D^v|}{|D|}\text{Ent}(D^v) Gain(D,a)=Ent(D)−∑v=1V∣D∣∣Dv∣Ent(Dv)
- 信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大
- 经典的ID3决策树算法就是以信息增益来为准则进行属性选择的
- 信息增益准则对取值数目比较多的属性有所偏好
信息增益率
IV ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log 2 ∣ D v ∣ ∣ D ∣ \text{IV}(a)=-\sum_{v=1}^V\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|} IV(a)=−∑v=1V∣D∣∣Dv∣log2∣D∣∣Dv∣
- 信息增益率准则对可能值数目较少的属性有所偏好
- C4.5算法先从属性划分中找到信息增益高于平均水平的属性,再从中选择增益率最高的
基尼系数
- 直观来说基尼指数反省了从数据集D中随机抽取两个样本,期类别标记不一致的概率
- 基尼指数越小,数据集D的纯度越高
- 选择划分后基尼指数最小的属性作为最优划分属性
- 如果划分后的基尼指数的最小值大于上一次划分则停止划分
剪枝处理
- 预剪枝
- 生成决策树的过程中剪枝
- 使用验证集判断当前是否应该划分
- 预剪枝降低了训练的成本,采用贪心的思想,可能会导致欠拟合的风险
- 后剪枝
- 生成完决策树之后从叶节点开始检查进行剪枝
- 预剪枝可能跟后剪枝得到的树不一样,后者一般更大一点,并且泛化性能更好
连续与缺失值
枚举属性中的所有值,进行二分,算熵的增益率
对于缺失值
- 计算信息增益率:只计算有数据数据的信息增益率,再对信息增益率乘上数据完善的程度作为系数
- 划分:让同一个样本以不同的概率划分到不同的子节点中,即每个结点中的瓜的个数可能不是整数个
多变量决策树
使用单一结点作为中间节点,会导致分类边界的每一段都是和坐标轴平行的
使用多变量作为中间节点,可以生产复杂的分类边界