接上期:
一、理论知识
CART算法是给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部节点取值为“是”或“否”。这样的决策树等价于递归地二分每个特征,将特征空间划分为有限个单元,并在这些单元上确定预测的概率分布即输入给定的条件下输出的条件概率分布。
1.0、特征选择:基尼指数
- 分类树用基尼指数选择最优特征,同时决定该特征的最优二值切分点。
- 分类问题中假设有K个类,样本点属于第k类的概率为 p k p_k pk,则概率分布的基尼指数为
G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini(p)=\sum^K_{k=1}p_k(1-p_k)=1-\sum^K_{k=1}p_k^2 Gini(p)=k=1∑Kpk(1−pk)=1−k=1∑Kpk2
对于二分类问题,若样本点属于第1个类的概率为p,则概率分布的基尼指数为 G i n i ( p ) = 2 p ( 1 − p ) Gini(p)=2p(1-p) Gini(p)=2p(1−p) - 如果样本集合D根据特征A是否取某一可能值a被分割为 D 1 D_1 D1和 D 2 D_2 D2两部分,即 D 1 = ( x , y ) ∈ D ∣ A = a , D 2 = D − D 1 D_1={(x,y)\in D|A=a},D_2=D-D_1 D1=(x,y)∈D∣A=a,D2=D−D1,则在特征A的条件下,集合D的基尼指数定义为
G i n i ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) Gini(D,A)=\frac{|D_1|} {|D|} Gini(D_1)+\frac{|D_2|} {|D|}Gini(D_2) Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
基尼指数 G i n i ( D ) Gini(D) Gini(D)表示集合D的不确定性,基尼指数 G i n i ( D , A ) Gini(D,A) Gini(D,A)表示经 A = a A=a A=a分割后集合D的不确定性。基尼系数越大,样本集合的不确定性也越大,这一点与熵相似。
1.1、决策树的生成
-
CART生成算法
- 输入:训练数据集D,停止计算的条件
- 输出: CART决策树
- 计算现有特征对该数据集的基尼指数。根据特征A=a的测试为“是”或“否”,将数据集划分为两个子集 D 1 , D 2