ML学习笔记——决策树

引例

本文以一个经典的二分类西瓜问题为例
西瓜训练集
这是一个西瓜训练集D,可以看出,该数据集中共有17组数据,每组数据都有色泽、根蒂、敲声、纹理、脐部、触感6个属性,这6个属性加上其各自的分支(a1色泽:青绿、乌黑、浅白,a2根蒂:蜷缩、稍蜷、硬挺,a3…)组成了该西瓜问题的属性集A。最后,每组数据都会确定其是好瓜还是坏瓜,这就是最终的分类结果。

我们的决策树算法便是在这样一个已有的训练集上构建一个树结构,使得其能够在输入一个新的数据(包含属性集A中的6个属性值)时,能够输出一个最为准确的判断(好瓜还是坏瓜)。

算法简图

决策树学习基本算法

一些容易纠结的点

类/类别:就是最终的决策结果(好瓜/坏瓜)
标记为叶结点:即该结点就是最终的决策结点(判定是好瓜还是坏瓜),无法再递归了

算法解析

本质上是一个构建树结构的函数,参数为训练集D和属性集A。可以看出这是一个递归的算法(递归意味着可能有剪枝的方法,后面会讲到)。

递归出口有三个:
(1)当前结点包含的样本全属于同一类别(全是好瓜/全是坏瓜),无需划分,直接做决策;
(2)当前属性集为空(属性集已经用完了),或是所有样本在所有属性上取值相同(在剩下的属性集中,每一个属性的属性值都一样,例:假设对于某次递归的训练子集D,属性集A中只剩下了脐部和触感两个属性,但是D中的西瓜在这两个属性上取值完全一致),无法划分,这时我们以当前结点的训练子集D中最多的分类(好瓜/坏瓜)作为最后的决策结果;
(3)当前结点包含的样本集合为空(在当前递归的训练集D中,该最优划分属性a*的某一分支下无样本),不能划分,此时我们以该叶子结点的父结点的训练集D中最多的分类(好瓜/坏瓜)作为最后的决策结果。

算法的基本流程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值