内容提要:
* 习题 5.1 详解
* 习题 5.2 详解
点击蓝字 |关注我们
前方提示:实际上,只要足够仔细,并且有充足的耐心,这两道习题就可以轻松解决。
习题 5.1 详解
「习题 5.1」 根据表 5.1 所给的训练数据集,利用信息增益比(C4.5 算法)生成决策树。
先贴出信息增益比的定义
「信息增益比」特征 对训练数据集 的信息增益比 定义为其信息增益 与训练数据集 关于特征 的值的熵 之比,即
其中, 是特征 取值的个数。
注:该定义来自于《统计学习方法(第 2 版)》第 76 页。
❞
表 5.1 是一个由 15 个样本组成的贷款申请训练数据。数据包括贷款申请人的 4 个特征(属性):第 1 个特征是年龄,有 3 个可能值:青年,中年,老年;第 2 个特征是有工作,有 2 个可能值:是,否;第 3 个特征是有自己的房子,有 2 个可能值:是,否;第 4 个特征是信贷情况,有 3 个可能值:非常好,好,一般。表的最后一列是类别,是否同意贷款,取 2 个值:是,否。
分别用 、 、 、 表示“年龄”、“有工作”、“有自己的房子”和“信贷情况”这 4 个特征。
选出根结点处的最优特征
(1) 计算经验熵
数据集 的样本点个数为 ,类别“是否同意贷款”包含两类样本,同意贷款的数据子集记作 ,不同意贷款的数据子集记作 ,根据表 5.1,易知 ,则
(2) 计算年龄特征的经验条件熵
首先看一下 这个特征。这一特征的取值为青年、中年和老年,该特征下的数据统计表格如下表所示。
根据表格,分别计算“年龄”特征每一取值下的权重和经验熵。
取值为青年时
取值为中年时
取值为老年时
于是,可以得到“年龄”特征的经验条件熵 为:
(3) 计算“年龄”特征的信息增益
(4) 计算数据集 关于“年龄”特征的熵
(5) 计算“年龄”特征的信息增益比
(6) 计算其他特征的信息增益比
类似于上述 (1)-(5) 中“年龄”特征下信息增益比的计算,同样可以得到特征 、 、 的信息增益比,结果如表所示。
以信息增益比作为准则选出根结点处的最优特征为“有自己的房子”,有自己的房子的样本点,都归属于“同意贷款”此处生成一个单一的叶结点。
选出下一结点处的最优特征
将没有自己的房子的所有样本点作为新的训练集 。
当前剩余的特征包括:年龄 、有工作 、信贷情况 。下面分别计算这 3 个特征下的信息增益比。
(1) 计算当前数据集 的信息熵
(2) 计算“年龄”特征的经验条件熵
根据年龄对新的训练集 进行划分,得到表格。
分别计算“年龄”特征每一取值下的权重和经验熵。
取值为青年时
取值为中年时
取值为老年时
于是,可以得到“年龄”特征的经验条件熵为:
(3) 计算“年龄”特征的信息增益
(4) 计算数据集 关于“年龄”特征的熵
(5) 计算“年龄”特征的信息增益比
(6) 计算其他特征的信息增益比
显然,“有工作”这一特征的信息增益比最大,可以设为当前最优特征。此特征下可以直接得到叶结点。
绘制最终决策树
习题 5.2 详解
「习题 5.2」 已知如表所示的训练数据,试用平方误差损失准则生成一个二叉回归树。
题目中并未设置停止条件,我们不妨设置平方误差小于阈值 时输出CART回归决策树。
❞
1. 将所有样本点都置于根结点处
记训练数据集为 ,将其全部置于根结点处。
2. 选择根结点处的最优切分点
的所有可能切分点为 ,下面计算每个切分点的平方误差。
在切分点 处,根据切分点将数据划分为两个子集:
两个子集上所对应的输出分别为:
计算该切分点下的平方误差:
类似地,可以得到切分点 下的平方误差,如表所示。
根据表格,最小的平方误差为 4.90,对应的最优切分点是 或 。
3. 在根结点处根据最优切分点并对数据进行划分
不妨选择切分点 对数据进行划分,得到两个子集
4. 对左子集 选择最优切分点并对数据进行划分
对左子集 中所有可能切分点 计算平方误差,得到下表。
根据表格,最小的平方误差为 0.20,对应的最优切分点是 。该平方误差 ,可对数据划分后,直接生成叶结点。
时,
包含 3 个样本点: ,均值为
在 时,
包含 2 个样本点: ,均值为
5. 对右子集 选择最优切分点并对数据进行划分
对左子集 中所有可能切分点 6.5, 7.5, 8.5, 9.5 计算平方误差。
根据表格,最小的平方误差为 0.81,对应的最优切分点是 。该平方误差 ,可对数据划分后,直接生成叶结点。
时,
包含 2 个样本点: ,均值为
时,
包含 3 个样本点:,均值为
6. 生成 CART 回归树
根据训练数据集生成的 CART 回归树为
欢迎大家关注简博士的B站和公众号,在公众号后台私信“入群”,可以与小伙伴们一起讨论问题哦。

