python决策树例题经典案例,python决策树实验报告
主题5.1
题目:根据表(5.1)给出的训练数据集,使用信息增益比(C4.5算法)生成决策树。
回答:
信息增益率的公式是:
首先,回顾表(5.1)的结构:
表(5.1)
根据书中提供的数据计算,我们有:
,
,
,
,
因此,根据信息增益比原则,我们选择特征‘自己的房子’作为分界点。
在左侧节点中, own house==yes 的所有实例数据的类别都是 yes ,所以左侧节点是叶节点,节点类别是 yes 。
在右边的节点中,我们首先整理子数据集。
:右节点数据子集
因此,在右节点中选择特征‘工作’,分割后,左右节点的实例数据的子集都在单个类别中。
因此,我们根据信息增益比完成了C4.5决策树的构建,如下图所示。
C4.5算法最终决策树主题5.2
题目:已知表5.2所示的训练数据,尝试利用平方误差损失准则生成一棵二元回归树。
回答:
回归树的平方损失准则是:选择一个分割点,将训练数据集分成小于等于
大于两个子集,并且找到这两个子集的平方损失之和作为该分割点质量的度量。我们使用python代码来帮助我们方便快捷地选择最佳分割点:
运行上述代码后,import不断对数据进行二等分,最终得到如下图所示的二元回归决策树。由于没有设置最小阈值,我们将每个点划分为叶子节点。
最小平方损失:回归树主题5.3
标题:证明在CART剪枝算法中,当
当确定后,存在唯一的最小子树使损失函数最小。解决方案:
使用反证的方法:
存在很容易证明。在特征和数据集有限的情况下,由于可以生成的决策树数量有限,每棵树对应某一棵。
损失函数。里面一定有最小损失函数。唯一性:原始数是为决策树生成算法生成的
假设有两个不同的最小子树,并且损失函数被最小化。因为这两个子树不同,所以它们的修剪方法
根据CART剪枝算法,每一步剪枝都使损失函数更低。所以,剪枝法生成的决策树是。然后会有夏天。所以与sum是最小化损失函数的最小字数的假设相矛盾。因此,事实证明。
题目5.4题目描述:证明CART剪枝算法中找到的子树序列。
分别是区间的最优子树。这里,解决方案是:
首先,我们需要回顾一下CART剪枝算法,以及我们感兴趣的
中的每个内部节点都经过计算:修剪过程是减去中最小的操作,并将设置为。
我们想证明
是区间的最优子树。第一
但是这些节点已经在修剪序列中被修剪掉了。以及排序在后的节点
,两者都有,所以在惩罚系数时,修剪会导致损失函数增大。因此,事实证明。
是序列中的最佳子树。欢迎大家指出不足或错误,提出问题,进行讨论。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。