引言

本文是统计学习方法第二版的读书笔记。主要学习了决策树的生成算法。
决策树主要优点是模型具有可读性,分类速度快。

建议先看下​​机器学习入门——决策树图解(附代码)​

决策树模型与学习

决策树模型

分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部节点和叶节点。内部节点表示一个特征或属性,叶节点表示一个类。

《统计学习方法》——决策树_机器学习


上图是一个决策树的示意图,圆和方框分别表示内部结点和叶结点。

决策树与if-then规则

可以将决策树看成一个if-then规则的集合。由决策树的根节点到叶节点的每一条路径构建一条规则;路径上内部节点的特征对应着规则的条件,而叶节点对应着规则的结论。 决策树对应的if-then规则集合具有一个重要的性质:互斥并且完备。即每个实例都被一条规则所覆盖,而且只被一条规则所覆盖。覆盖是指实例的特征满足规则的条件。

决策树与条件概率分布

《统计学习方法》——决策树_机器学习_02


决策树还表示给定特征条件下类的条件概率分布。

上图(a)表示了特征空间的一个划分,1x1的大正方形表示特征空间。这个正方形被4个小矩形分隔,每个小矩形表示一个单元,也就是决策树的一个规则。《统计学习方法》——决策树_信息增益_03取值为单元的集合,这里假设《统计学习方法》——决策树_数据集_04的取值为《统计学习方法》——决策树_决策树_05。小矩形中的数字表示单元的类。

《统计学习方法》——决策树_统计学习方法_06


当决策树满足上面这条规则时,得到的划分就如下图所示:

《统计学习方法》——决策树_统计学习方法_07

决策树学习

假设给定训练数据集
《统计学习方法》——决策树_机器学习_08
其中,《统计学习方法》——决策树_决策树_09为输入实例(特征向量),《统计学习方法》——决策树_决策树_10为特征个数,《统计学习方法》——决策树_统计学习方法_11为类标记,《统计学习方法》——决策树_数据集_12 ,《统计学习方法》——决策树_机器学习_13为样本容量。

决策树学习的目标是根据给定的训练数据构建一个决策树模型,是它能够实例进行正确的分类。

决策树学习本质上是从训练数据中归纳出一组分类规则。能对训练数据进行正确分类的决策树可能有多个,也可能一个都没有。我们需要一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力。

决策树学习用损失函数表示这一目标。决策树学习的损失函数通常是正则化的极大似然函数。

决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好的分类的过程。该过程对应着特征空间的划分,也对应着决策树的构建。

开始,构建根节点,将所有训练数据都放在根节点。选择一个最优特征,按照该特征将训练数据分隔成子集,使得各个子集有一个在当前条件下最好的分类。

若这些子集已经能被基本正确分类,那么构建叶节点,将这些子集分到所对应的叶节点中去; 如果还有子集不能被基本正确分类,那么针对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点。

如果递归地进行下去,直到所有训练数据子集都被基本正确分类,或没有适合的特征为止。这样就生成了一颗决策树。

以上方法生成的决策树可能对训练数据有很好的分类能力,但对未知的测试数据却未必有很好的分类能力,即可能发生过拟合现象。我们需要对已生成的树自下而上进行剪枝,将树变得更简单,从而使它具有更好的泛化能力。

如果特征数量很多,也可以在决策树学习开始的时候,对特征进行选择,只留下对训练数据有足够分类能力的特征。

可以看出,决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程。

决策树学习常用的算法有ID3、C4.5与CART。

特征选择

特征选择问题

特征选择在于选取对训练数据具有分类能力的特征。这样可以提高决策树学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征是没有分类能力的。通常特征选择的准则是信息增益或信息增益比。

下面通过一个例子来说明特征选择问题。下面是一个由15个样本组成的贷款申请训练数据。数据包含贷款申请人的4个特征:年龄,有3个可能值;有工作,有2个可能值;有自己的房子,有2个可能值;以及信贷情况,有3个可能值。

《统计学习方法》——决策树_决策树_14


最后一列是类别,是否同意贷款。

希望通过所给的训练数据学习一个贷款申请的决策树,用来对未来的贷款申请进行分类,当新客户提出贷款申请时,根据申请人的特征利用决策树决定是否批准贷款申请。

首先要做的是特征选择,即决定用哪个特征来划分特征空间。直观上,如果一个特征具有更好的分类能力,按照这一特征将训练数据分割成子集,使得各个子集在当前条件下有最好的分类,那么就应该选择这个特征。信息增益(information gain)就能够很好地表示这一直观的准则。

信息增益

在信息论中,熵(entropy)表示随机变量不确定性的度量。设《统计学习方法》——决策树_信息增益_03是一个取有限个值的离散随机变量,其概率分布为
《统计学习方法》——决策树_决策树_16

则随机变量《统计学习方法》——决策树_信息增益_03的熵定义为

《统计学习方法》——决策树_统计学习方法_18

在上式中,若《统计学习方法》——决策树_决策树_19,则定义《统计学习方法》——决策树_统计学习方法_20。通常上式的对数以《统计学习方法》——决策树_数据集_21为底或以《统计学习方法》——决策树_数据集_22为底(自然对数),这时熵的单位为别称作比特或纳特。由定义可知,熵只依赖于《统计学习方法》——决策树_信息增益_03的分布,而与《统计学习方法》——决策树_信息增益_03的取值无关,所以也将《统计学习方法》——决策树_信息增益_03的熵记为《统计学习方法》——决策树_机器学习_26,即

《统计学习方法》——决策树_决策树_27

熵越大,随机变量的不确定性越大。当随机变量只取两个值,例如《统计学习方法》——决策树_决策树_28时,即《统计学习方法》——决策树_信息增益_03的分布为:

《统计学习方法》——决策树_机器学习_30

熵为

《统计学习方法》——决策树_机器学习_31

这时,熵《统计学习方法》——决策树_机器学习_26随概率《统计学习方法》——决策树_决策树_33的曲线如图所示

《统计学习方法》——决策树_信息增益_34


《统计学习方法》——决策树_数据集_35《统计学习方法》——决策树_数据集_36《统计学习方法》——决策树_数据集_37,随机变量完全没有不确定性。当《统计学习方法》——决策树_信息增益_38时,《统计学习方法》——决策树_信息增益_39,熵取最大值,随机变量不确定性最大。

条件熵《统计学习方法》——决策树_数据集_40表示在已知随机变量《统计学习方法》——决策树_信息增益_03的条件下随机变量《统计学习方法》——决策树_数据集_04的不确定性。《统计学习方法》——决策树_数据集_40定义为《统计学习方法》——决策树_信息增益_03给定条件下《统计学习方法》——决策树_数据集_04的条件概率分布的熵对《统计学习方法》——决策树_信息增益_03的数学期望

《统计学习方法》——决策树_决策树_47

这里《统计学习方法》——决策树_数据集_48

当熵和条件熵中的概率由极大似然估计得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。

信息增益表示得知特性《统计学习方法》——决策树_信息增益_03的信息而使得类《统计学习方法》——决策树_数据集_04的信息不确定性减少的程度。

特征《统计学习方法》——决策树_决策树_51对训练数据集《统计学习方法》——决策树_数据集_52的信息增益《统计学习方法》——决策树_机器学习_53定义为集合《统计学习方法》——决策树_数据集_52的经验熵《统计学习方法》——决策树_信息增益_55与特征《统计学习方法》——决策树_决策树_51给定条件下《统计学习方法》——决策树_数据集_52的经验条件熵《统计学习方法》——决策树_机器学习_58之差,即

《统计学习方法》——决策树_数据集_59

一般地,熵《统计学习方法》——决策树_决策树_60与条件熵《统计学习方法》——决策树_数据集_40之差称为互信息(mutual information)。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。

给定训练集《统计学习方法》——决策树_数据集_52和特征《统计学习方法》——决策树_决策树_51,经验熵《统计学习方法》——决策树_信息增益_55表示对数据集《统计学习方法》——决策树_数据集_52进行分类的不确定性。而经验条件熵《统计学习方法》——决策树_机器学习_58表示在特征《统计学习方法》——决策树_决策树_51给定的条件下对数据集《统计学习方法》——决策树_数据集_52进行分类的不确定性。 那么它们的差,即信息增益,就表示由于特征《统计学习方法》——决策树_决策树_51而使得对数据集《统计学习方法》——决策树_数据集_52分类的不确定性减少的程度。显然,信息增益依赖于特征,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。

那么就得到根据信息增益准则的特征选择方法:对训练数据集(或子集)《统计学习方法》——决策树_数据集_52,计算每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

设训练数据集为《统计学习方法》——决策树_数据集_52《统计学习方法》——决策树_决策树_73表示样本个数。设有《统计学习方法》——决策树_信息增益_74个类《统计学习方法》——决策树_信息增益_75,《统计学习方法》——决策树_统计学习方法_76为属于类《统计学习方法》——决策树_信息增益_77的样本个数,所有类别的样本个数之和等于样本总数,即《统计学习方法》——决策树_决策树_78。设特征《统计学习方法》——决策树_决策树_51《统计学习方法》——决策树_决策树_10个不同的取值《统计学习方法》——决策树_机器学习_81,根据特征《统计学习方法》——决策树_决策树_51的取值将《统计学习方法》——决策树_数据集_52划分为《统计学习方法》——决策树_决策树_10个子集《统计学习方法》——决策树_数据集_85《统计学习方法》——决策树_机器学习_86《统计学习方法》——决策树_信息增益_87的样本个数,有《统计学习方法》——决策树_决策树_88。 子集《统计学习方法》——决策树_信息增益_87中属于类《统计学习方法》——决策树_信息增益_77的样本集合为《统计学习方法》——决策树_信息增益_91《统计学习方法》——决策树_决策树_92《统计学习方法》——决策树_信息增益_91的样本个数。

于是就可以表示信息增益的算法了:

  1. 计算数据集《统计学习方法》——决策树_数据集_94的经验熵《统计学习方法》——决策树_信息增益_95
    《统计学习方法》——决策树_机器学习_96
  2. 计算特征《统计学习方法》——决策树_决策树_97对数据集《统计学习方法》——决策树_数据集_94的经验条件熵《统计学习方法》——决策树_数据集_99(其实就是《统计学习方法》——决策树_决策树_100的加权和)
    《统计学习方法》——决策树_机器学习_101
  3. 计算信息增益
    《统计学习方法》——决策树_统计学习方法_102

《统计学习方法》——决策树_决策树_103


对例子中给出的训练数据集《统计学习方法》——决策树_数据集_52,根据信息增益准则来选择最优特征。

首先计算经验熵《统计学习方法》——决策树_信息增益_55,根据每个类别的占比计算即可:
《统计学习方法》——决策树_决策树_106

然后计算各特征对数据集《统计学习方法》——决策树_数据集_52的信息增益。分别以《统计学习方法》——决策树_统计学习方法_108表示年龄、有工作、有自己的房子和信贷情况4个特征,《统计学习方法》——决策树_统计学习方法_109分别是《统计学习方法》——决策树_数据集_52《统计学习方法》——决策树_机器学习_111(年龄)取值为青年、中年和老年的样本子集。

《统计学习方法》——决策树_决策树_112为例,表示年龄取值为青年的情况

《统计学习方法》——决策树_数据集_113


总共有5个,其中3个类别为否;2个类别为是。把样本子集《统计学习方法》——决策树_信息增益_114代入公式《统计学习方法》——决策树_机器学习_115中,得

《统计学习方法》——决策树_机器学习_116

哈哈,这里巧了,和《统计学习方法》——决策树_信息增益_55是一样的,但是还要乘以一个权重,这个权重就是年龄为青年的样本数量占总样本数量的比重。这里是《统计学习方法》——决策树_数据集_118

同理可以计算出《统计学习方法》——决策树_决策树_119《统计学习方法》——决策树_信息增益_120

此时计算特征《统计学习方法》——决策树_机器学习_111对数据集《统计学习方法》——决策树_数据集_52的信息增益就好理解了,为下式:

《统计学习方法》——决策树_机器学习_123

同理可计算《统计学习方法》——决策树_统计学习方法_124

《统计学习方法》——决策树_机器学习_125

《统计学习方法》——决策树_决策树_126

《统计学习方法》——决策树_信息增益_127

《统计学习方法》——决策树_决策树_128

最后,比较各特征的信息增益。由于特征《统计学习方法》——决策树_决策树_129(有自己的房子)的信息增益最大,所以选择特征《统计学习方法》——决策树_决策树_129作为最优特征。

信息增益比

以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。使用信息增益比(information gain ratio)可以对这一问题进行校正。这是特征选择的另一准则。

特征《统计学习方法》——决策树_决策树_51对训练数据集《统计学习方法》——决策树_数据集_52的信息增益比《统计学习方法》——决策树_决策树_133定义为其信息增益《统计学习方法》——决策树_机器学习_53与训练数据集《统计学习方法》——决策树_数据集_52关于特征《统计学习方法》——决策树_决策树_51的值的熵《统计学习方法》——决策树_决策树_137之比,即

《统计学习方法》——决策树_统计学习方法_138

其中,《统计学习方法》——决策树_统计学习方法_139,《统计学习方法》——决策树_决策树_10是特征《统计学习方法》——决策树_决策树_51的取值个数。

决策树的生成

ID3算法

输入:训练数据集《统计学习方法》——决策树_数据集_52,特征集《统计学习方法》——决策树_决策树_51阈值《统计学习方法》——决策树_决策树_144
输出:决策树《统计学习方法》——决策树_机器学习_145

  1. 《统计学习方法》——决策树_数据集_94中所有实例属于同一类《统计学习方法》——决策树_数据集_147,则《统计学习方法》——决策树_信息增益_148为单节点树,并将类《统计学习方法》——决策树_数据集_147作为该节点的类标记,返回《统计学习方法》——决策树_信息增益_148
  2. 《统计学习方法》——决策树_决策树_97为空集,则《统计学习方法》——决策树_信息增益_148为单节点树,并将《统计学习方法》——决策树_数据集_94中实例数最大的类《统计学习方法》——决策树_数据集_147作为该节点的类标记,返回《统计学习方法》——决策树_信息增益_148
  3. 否则,按上面介绍的算法计算《统计学习方法》——决策树_决策树_97中各特征对《统计学习方法》——决策树_数据集_94的信息增益,选择信息增益最大的特征《统计学习方法》——决策树_机器学习_158
  4. 如果《统计学习方法》——决策树_机器学习_158的信息增益小于阈值《统计学习方法》——决策树_机器学习_160(设置阈值防止分的过细),则置《统计学习方法》——决策树_信息增益_148为单节点树,并将《统计学习方法》——决策树_数据集_94中实例数最大的类《统计学习方法》——决策树_数据集_147作为该节点的类标记,返回《统计学习方法》——决策树_信息增益_148
  5. 否则,对《统计学习方法》——决策树_机器学习_158的每一可能值《统计学习方法》——决策树_信息增益_166,依《统计学习方法》——决策树_信息增益_167《统计学习方法》——决策树_数据集_94分割为若干非空子集《统计学习方法》——决策树_统计学习方法_169,将《统计学习方法》——决策树_统计学习方法_169中实例数最大的类作为标记,构建子节点,由节点及其子节点构成树《统计学习方法》——决策树_信息增益_148,返回《统计学习方法》——决策树_信息增益_148
  6. 对第《统计学习方法》——决策树_机器学习_173个子节点,以《统计学习方法》——决策树_统计学习方法_169为训练集,以《统计学习方法》——决策树_数据集_175为特征集,递归地调用步1~5,得到子树《统计学习方法》——决策树_统计学习方法_176,返回《统计学习方法》——决策树_统计学习方法_176

C4.5算法

C4.5算法除了在生成的过程中使用信息增益比来选择特征,其他过程和ID3算法是一样的。

在这两个算法中通过设定阈值来控制生成的树的深度或宽度,这种做法称为预剪枝。还有一种做法是生成决策树以后,再进行剪枝,叫做后剪枝。

决策树的剪枝

上面介绍的决策树生成算法递归地产生决策树,直到不能继续下去为止。这样产生的树往往对训练数据的分类很准确,但对未知的测试数据的分类却没有那么准确,即出现过拟合现象。 解决这个问题的办法是考虑降低决策树的复杂度,对已生成的决策树进行简化。

在决策树学习中将已生成的树进行简化的过程称为剪枝。剪枝从已生成的树上裁掉一些子树或叶节点,并将其根节点或父节点作为新的叶节点,从而简化分类树模型。

决策树的剪枝往往通过极小化决策树整体的损失函数来实现。

决策树损失函数

《统计学习方法》——决策树_信息增益_178

其中

《统计学习方法》——决策树_统计学习方法_179

《统计学习方法》——决策树_机器学习_145的叶节点个数为《统计学习方法》——决策树_信息增益_181《统计学习方法》——决策树_决策树_182呢是树《统计学习方法》——决策树_机器学习_145的叶节点,该叶节点有《统计学习方法》——决策树_信息增益_184个样本点,其中《统计学习方法》——决策树_数据集_185类的样本点有《统计学习方法》——决策树_机器学习_186个。《统计学习方法》——决策树_决策树_187为叶节点《统计学习方法》——决策树_决策树_182上的经验熵,《统计学习方法》——决策树_数据集_189为参数,是对树规模的一个惩罚。

《统计学习方法》——决策树_决策树_190表示模型对训练数据的预测误差,即模型与训练数据的拟合程度,当叶子节点的熵越小,也就是损失越小,代表混乱程度越低,分类的时候越好分;

《统计学习方法》——决策树_信息增益_181表示模型复杂度。当叶子节点数越大,说明决策树越复杂,泛化能力越差。较大的《统计学习方法》——决策树_决策树_192促使选择较简单的树。当《统计学习方法》——决策树_数据集_193意味着只考虑模型与训练数据的拟合程度,不考虑复杂度。

剪枝,就是当《统计学习方法》——决策树_决策树_192确定时,选择损失函数最小的模型。决策树生成算法学习局部的模型,而决策树剪枝学习整体的模型。

下面介绍剪枝算法。简单来说就是如果减去某个分支,使该分支变成叶子节点,得到的新树对应的损失函数更小,那么就可以剪枝,否则不能剪枝。

《统计学习方法》——决策树_机器学习_195


树的剪枝算法

  1. 计算每个节点的经验熵
  2. 递归地从树的根节点向上回缩
  3. 如果一组叶节点回缩到父节点之后和之前的整体树分别为《统计学习方法》——决策树_统计学习方法_196《统计学习方法》——决策树_数据集_197,对应的损失函数分别是《统计学习方法》——决策树_决策树_198《统计学习方法》——决策树_信息增益_199,若《统计学习方法》——决策树_数据集_200,则进行剪枝,将父节点变成新的叶节点
  4. 返回步骤2,直到不能继续为止,得到损失函数最小的子树《统计学习方法》——决策树_决策树_201

CART算法

分类与回归树(classification and regression tree,CART)模型是应用广泛的决策树学习方法。既可以用于分类也可以用于回归。

它生成的决策树是一颗二叉树。上面介绍的ID3算法和C4.5算法中,如果其中一个特征有多个(大于两个)类别,那么就要分多个分支。但是CART算法不管有多少个类别,只分成两部分。

《统计学习方法》——决策树_决策树_103


还是以这个数据为例,如果以有工作这个特征来分,只有两个分支,是和否;但是如果以年龄来分,此时有三个分支了,要怎么分呢,其实很简单,可以左边分支是青年(或中年、老年),右边是非青年(或非中年、非老年)。只能从这个三个里面选择一种作为分类的依据,CART此时是通过基尼指数来判断选择哪个分支作为分类的依据。

基尼指数

分类问题中,假设有《统计学习方法》——决策树_信息增益_74个类,样本点属于第《统计学习方法》——决策树_数据集_185个类的概率为《统计学习方法》——决策树_决策树_205,则概率分布的基尼指数定义为

《统计学习方法》——决策树_统计学习方法_206

这里用到了《统计学习方法》——决策树_数据集_207

对于二分类问题,若样本点属于第1个类的概率是《统计学习方法》——决策树_决策树_33,则概率分布的基尼指数为

《统计学习方法》——决策树_数据集_209

对于给定的样本集合《统计学习方法》——决策树_数据集_52,其基尼指数为

《统计学习方法》——决策树_机器学习_211

如果样本集合《统计学习方法》——决策树_数据集_52根据特征《统计学习方法》——决策树_决策树_51是否取某一可能值《统计学习方法》——决策树_统计学习方法_214被分割成《统计学习方法》——决策树_信息增益_114《统计学习方法》——决策树_数据集_216两部分,即

《统计学习方法》——决策树_机器学习_217

则在特征《统计学习方法》——决策树_决策树_51的条件下,集合《统计学习方法》——决策树_数据集_52的基尼指数定义为
《统计学习方法》——决策树_机器学习_220

基尼指数《统计学习方法》——决策树_统计学习方法_221表示集合《统计学习方法》——决策树_数据集_52的不确定性,基尼指数《统计学习方法》——决策树_机器学习_223表示经《统计学习方法》——决策树_信息增益_224分割后集合《统计学习方法》——决策树_数据集_52的不确定性。基尼指数越大,不确定性就越大。

CART生成算法
根据训练数据集,从根节点开始,递归地对每个节点进行以下操作,构建二叉决策树:

  1. 设节点的训练数据集为《统计学习方法》——决策树_数据集_94,计算现有特征对该数据集的基尼指数。此时,对每个特征《统计学习方法》——决策树_决策树_97,对其可能取的每个值《统计学习方法》——决策树_决策树_228,根据样本点对《统计学习方法》——决策树_数据集_229的测试为“是”或“否”将《统计学习方法》——决策树_数据集_94分割为《统计学习方法》——决策树_决策树_231《统计学习方法》——决策树_决策树_232两部分,利用式(5.15)计算《统计学习方法》——决策树_数据集_229时的基尼指数。
  2. 在所有可能的特征《统计学习方法》——决策树_决策树_97以及它们所有可能的切分点《统计学习方法》——决策树_决策树_228中,选择基尼指数最小的特征及其对应的切分点作为最优特征与最优切分点。根据最优特征和最优切分点,从现节点生成两个子节点,将训练数据集依特征分配到两个子节点中去。
  3. 对两个子节点递归地调用步骤1,2,直到满足停止条件
  4. 生成CART决策树

其中算法停止计算的条件是节点中的样本数小于预定阈值,或样本集的基尼指数小于预定阈值,或没有更多特征。

《统计学习方法》——决策树_决策树_103


还是通过这个例子来熟悉一下吧,应用CART算法生成决策树。

和上文一样,分别以《统计学习方法》——决策树_统计学习方法_108表示年龄、有工作、有自己的房子和信贷情况4个特征,并以《统计学习方法》——决策树_机器学习_238表示年龄的值为青年、中年和老年,以《统计学习方法》——决策树_决策树_239表示有工作和有自己的房子的值为是和否,以《统计学习方法》——决策树_机器学习_238表示信贷情况的值为非常好、好和一般。

先求特征《统计学习方法》——决策树_机器学习_111的基尼指数

《统计学习方法》——决策树_机器学习_111表示值为青年,以该值将数据集分为青年和非青年两部分。其中青年部分有5个样本,非青年部分有10个样本。在年龄为青年中类别为否的有3个;为是的有2个。 二在非青年中类别为是的有7个;为否的有3个。根据式(5.15)和式(5.13),得:

《统计学习方法》——决策树_信息增益_243

同理求得

《统计学习方法》——决策树_信息增益_244
《统计学习方法》——决策树_决策树_245

由于《统计学习方法》——决策树_决策树_246《统计学习方法》——决策树_机器学习_247相等且最小,所以《统计学习方法》——决策树_统计学习方法_248《统计学习方法》——决策树_信息增益_249都可以选作《统计学习方法》——决策树_机器学习_111的最优切分点。

求特征《统计学习方法》——决策树_数据集_251《统计学习方法》——决策树_决策树_129的基尼指数:

《统计学习方法》——决策树_决策树_253
《统计学习方法》——决策树_数据集_254

由于《统计学习方法》——决策树_数据集_251《统计学习方法》——决策树_决策树_129只有一个切分点(它们都只能分出两个分支),所以它们就是最优切分点。

再求特征《统计学习方法》——决策树_决策树_257的基尼指数:

《统计学习方法》——决策树_机器学习_258
《统计学习方法》——决策树_统计学习方法_259
《统计学习方法》——决策树_数据集_260

《统计学习方法》——决策树_机器学习_261最小,所以《统计学习方法》——决策树_决策树_262《统计学习方法》——决策树_决策树_257的最优切分点。

《统计学习方法》——决策树_统计学习方法_108几个特征中,《统计学习方法》——决策树_数据集_265最小,所以选择特征《统计学习方法》——决策树_决策树_129作为最优特征,《统计学习方法》——决策树_机器学习_267作为最优切分点。

于是根节点生成两个子节点,一个是叶节点。

对另一个节点继续使用以上方法在《统计学习方法》——决策树_数据集_268中选择最优特征及其最优切分点,结果是《统计学习方法》——决策树_统计学习方法_269。并且依据计算可知,所得节点都是叶节点。

参考

  1. 李航.统计学习方法第二版