决策树ID3、C4.5和CART算法总结,及案例计算

一、决策树

  • 决策树(Desicision Tree)是一种基本的分类与回归方法。决策树呈现树形结构,它可以认为是if-then规则的集合,可以认为是定义在特征空间与类空间上的条件概率分布。
  • 学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型
  • 预测时,对新的数据利用决策树模型进行分类。
  • 决策树学习通常包括3个步骤:
    · 特征选择
    · 决策树的生成
    · 决策树的修剪
  • 决策树的算法主要包括三大算法:
    · Quin 1986年提出的ID3.0算法
    · Quin 1993年提出的C4.5算法
    · Breiman等人 1984年提出的CART算法
    决策树ID3、C4.5和CART算法总结,及案例计算_第1张图片
    下面将分别介绍这三大算法。

1.1 ID3算法

1.1.1 ID3决策树算法的过程

· ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。
决策树ID3、C4.5和CART算法总结,及案例计算_第2张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第3张图片

  • 具体方法是:
    · 从根结点(root node)开始,对结点计算所有可能的特征的信息增益,选择信息增益 最 大 最大 的特征作为结点的特征,由该特征的不同取值建立子结点;
    · 再对子结点递归地调用以上方法,构建决策树;
    · 直到所有特征的信息增益均很小或没有特征可以选择为止,最后得到一个决策树。
    · ID3相当于用 极 大 似 然 法 极大似然法 进行概率选择模型。
ID3.0算法的优缺点

决策树ID3、C4.5和CART算法总结,及案例计算_第4张图片

以上ID3.0算法生成树的过程,涉及到核心准则就是信息增益,那么什么是信息增益呢?

1.1.2 信息增益

  • 定义:特征A对训练数据集 D D D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合 D D D的经验熵 H ( D ) H(D) H(D)与特征 A A A给定条件下 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差,即
    g ( D , A ) = H ( D ) − H ( D , A ) g(D,A) = H(D)-H(D,A) g(D,A)=H(D)H(D,A)
  • 一般的,熵 H ( Y ) H(Y) H(Y)与条件熵 H ( Y ∣ X ) H(Y|X) H(YX)之差称为互信息(mutual information)
  • 决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
  • 那么什么是熵与条件熵呢

· 在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。设 X X X是一个取有限个值得离散随机变量,其概率分布为
P ( X = X i ) = p i , i = 1 , 2 , . . . , n P(X=X_i)=p_i, i = 1,2,...,n P(X=Xi)=pi,i=1,2,...,n
· 则随机变量X的熵的定义为
H ( X ) = − ∑ i = 1 n p i l o g p i H(X) = -\sum^{n}_{i=1}p_ilogp_i H(X)=i=1npilogpi

  • p i = 0 p_i=0 pi=0,则定义 0 l o g 0 = 0 0log0=0 0log0=0. 通常,对数以2为底或以e为底(自然对数)。
  • 熵只依赖于 X X X的分不,而与 X X X的取值无关。
  • 熵值越大,其分布的不确定性就越大。
  • 有句话说的好,自然界所有的事物都是一个熵增的过程。【由有序转化为无序】
    决策树ID3、C4.5和CART算法总结,及案例计算_第5张图片
  • p = 0.5 p=0.5 p=0.5时,熵取值最大,随机变量的不确定性最大。

条件熵

  • 设有随机变量 ( X , Y ) (X,Y) (X,Y),其联合概率分布为 P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p_{ij } , i = 1,2,...,n; j = 1,2,...,m P(X=xi,Y=yj)=pij,i=1,2,...,n;j=1,2,...,m
  • 条件熵 H ( Y ∣ X ) H(Y|X) H(YX)表示在已知随机变量 X X X的条件下随机变量 Y Y Y的不确定性。
  • 随机变量 X X X给定的条件下随机变量 Y Y Y的条件熵(conditional entropy) H ( Y ∣ X ) H(Y|X) H(YX),定义为 X X X给定条件下 Y Y Y的条件概率分布的熵对 X X X的数学期望 H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\sum^{n}_{i=1}p_iH(Y|X=x_i) H(YX)=i=1npiH(YX=xi)
  • 这里 p i = P ( X = x i ) , i = 1 , 2 , . . . , n p_i = P(X=x_i), i=1,2,...,n pi=P(X=xi),i=1,2,...,n
  • 当熵和条件熵的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。
  • 信息增益 information gain表示得知特征 X X X的信息而使得类Y的信息的不确定性减少的程度。

决策树ID3、C4.5和CART算法总结,及案例计算_第6张图片

信息增益算法

决策树ID3、C4.5和CART算法总结,及案例计算_第7张图片

  • ∑ k = 1 k ∣ C k ∣ = ∣ D ∣ \sum^{k}_{k=1}|C_k|=|D| k=1kCk=D
  • ∣ C k ∣ |C_k| Ck相加等于 ∣ D ∣ |D| D
  • 特征 A A A的取值累加 ∣ D i ∣ |D_i| Di ∣ D ∣ |D| D
  • ∑ i = 1 n ∣ D i ∣ = ∣ D ∣ \sum^{n}_{i=1}|D_i|=|D| i=1nDi=D
    1、计算数据集 D D D的经验熵 H ( D ) H(D) H(D)
    在这里插入图片描述
    2、计算特征 A A A对数据集 D D D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)
    决策树ID3、C4.5和CART算法总结,及案例计算_第8张图片
    3、计算信息增益
    在这里插入图片描述
    4、计算信息增益比
    信息增益比:特征 A A A对训练数据集 D D D的信息增益比 g R ( D , A ) g_R(D,A) gR(D,A)定义为其信息增益 g ( D , A ) g(D,A) g(D,A)与训练数据集 D D D关于特征 A A A的值的熵 H A ( D ) H_A(D) HA(D)之比
    g R ( D , A ) = g ( D , A ) / H A ( D ) g_R(D,A)=g(D,A)/H_A(D) gR(D,A)=g(D,A)/HA(D)
    g R ( D , A ) = g ( D , A ) H A ( D ) g_R(D,A)={\frac{g(D,A)}{H_A(D)}} gR(D,A)=HA(D)g(D,A)
    其中, H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g 2 ∣ D i ∣ ∣ D ∣ H_A(D)=-\sum^{n}_{i=1}{\frac{|D_i|}{|D|}}log_2{\frac{|D_i|}{|D|}} HA(D)=i=1nDDilog2DDi
    n n n是特征 A A A取值的个数

案例计算

决策树ID3、C4.5和CART算法总结,及案例计算_第9张图片

计算信息增益

决策树ID3、C4.5和CART算法总结,及案例计算_第10张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第11张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第12张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第13张图片

计算信息增益比

决策树ID3、C4.5和CART算法总结,及案例计算_第14张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第15张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第16张图片

1.2 C4.5算法

基于信息增益比来计算结点【树结构】
决策树ID3、C4.5和CART算法总结,及案例计算_第17张图片

  • 信息增益比的计算过程在ID3.0算法中有提到,基于信息增益的计算过程。
    决策树ID3、C4.5和CART算法总结,及案例计算_第18张图片
    决策树ID3、C4.5和CART算法总结,及案例计算_第19张图片

1.3 CART

分类与回归树(Classification and Regression Tree,CART)是应用广泛的决策树学习方法。
二 叉 树 二叉树
决策树ID3、C4.5和CART算法总结,及案例计算_第20张图片

1.3.1 回归决策树生成

决策树ID3、C4.5和CART算法总结,及案例计算_第21张图片

回归树的简单计算过程,可参考该链接

https://mp.weixin.qq.com/s/k8jj4meb3DKYCGUzaOGDAg

1.3.2 分类树的生成【基尼指数最小】

决策树ID3、C4.5和CART算法总结,及案例计算_第22张图片
决策树ID3、C4.5和CART算法总结,及案例计算_第23张图片

  • 基尼指数越大,样本集合的不确定性越大,这一点与熵值一样。
    决策树ID3、C4.5和CART算法总结,及案例计算_第24张图片

    决策树ID3、C4.5和CART算法总结,及案例计算_第25张图片
    决策树ID3、C4.5和CART算法总结,及案例计算_第26张图片

    • CART回归树的计算过程
    • 决策树ID3、C4.5和CART算法总结,及案例计算_第27张图片
  • 由于CART生成的是二叉树,所以特征选择时,只有是与否两种选择
    决策树ID3、C4.5和CART算法总结,及案例计算_第28张图片

  • G i n i ( D , A 1 = 1 ) Gini(D,A_1=1) Gini(D,A1=1)分为是青年,不是青年

  • G i n i ( D , A 1 = 2 ) Gini(D,A_1=2) Gini(D,A1=2)分为是中年,不是中年

  • G i n i ( D , A 1 = 3 ) Gini(D,A_1=3) Gini(D,A1=3)分为是老年,不是老年
    决策树ID3、C4.5和CART算法总结,及案例计算_第29张图片

  • CART分类树的生成决策树的过程和ID3的决策树生成过程一样。

参考文献:
[1]李航.统计学习方法
[2]决策树计算:https://mp.weixin.qq.com/s/k8jj4meb3DKYCGUzaOGDAg

你可能感兴趣的:(Machine,learning)