本次学习主要基于《统计学习方法》一书。
一、Gini指数
1.定义
Gini指数(基尼指数):表示在样本集合中一个随机选中的样本被分错的概率。
Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。即基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率,表达式如下所示:
Gini(p)=∑k=1Kpk(1−pk)=1−∑k=1Kpk2
Gini(p) = \sum_{k=1}^K p_k(1-p_k)=1-\sum_{k=1}^Kp_k^2
Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2
pkp_kpk表示选中的样本属于k类别的概率,则这个样本被分错的概率是(1−pk1-p_k1−pk),样本集合中有K个类别,一个随机选中的样本可以属于这k个类别中的任意一个。
2.例子
对于二类分类问题,若样本点属于第1个类的概率是p,则概率分布的基尼指数为:
Gini(p)=2p(1−p)
Gini(p)=2p(1−p)
Gini(p)=2p(1−p)
对于给定的样本集合D,基尼指数为:
Gini(D)=1−∑k=1K(CkD)2
Gini(D)=1-\sum^K_{k=1}(\frac{C_k}{D})^2
Gini(D)=1−k=1∑K(DCk)2
二、回归树
1.定义
回归树和分类树都是决策树的一种,但是回归树用平方误差最小化准则进行特征选择,来生成二叉树,而分类树则是用基尼指数(Gini index)最小化准则。
2.回归树生成
CART分析步骤:
1、从根节点t=1开始,从所有可能候选S集合中搜索使不纯性降低最大的划分S*,然后,使用划分S*将节点1(t=1)划分成两个节点t=2和t=3;
2、在t=2和t=3上分别重复划分搜索过程。在CART算法中, 基尼不纯度表示一个随机选中的样本在子集中被分错的可能性。基尼不纯度为这个样本被选中的概率乘以它被分错的概率。当一个节点中所有样本都是一个类时,基尼不纯度为零。
三、剪枝
1.定义
对于CART(就是分类树和回归树)剪枝,就是从“完全生长”的决策树的底端剪去一些子树,使决策树变小(模型变简单),从而能够对未知数据有更准确的预测。
2. 方法
剪枝的步骤有两步:
- 首先从生成算法产生的决策树T0T_0T0 底端开始不断剪枝,直到T0T_0T0的根节点,形成一个子树序列T0,T1,...,TnT_0,T_1,...,T_nT0,T1,...,Tn;
- 然后通过交叉验证法在独立的验证数据集上对子树序列进行测试,从中选择最优子树。
剪枝可以分为两种:
预剪枝(Pre-Pruning)和后剪枝(Post-Pruning):
- PrePrune:预剪枝,及早的停止树增长。
- PostPrune:后剪枝,在已生成过拟合决策树上进行剪枝,可以得到简化版的剪枝决策树。