机器学习:决策树


1 简介

  决策树是一种树形结构,由决策树的根结点到叶结点的每一条路径构建一条规则;路径上的内部结点的特征对应着规则的条件,而叶结点对应着分类的结论。


2 算法

2.1 树的构建

  在构造决策树时,第一个需要解决的问题就是,如何确定出哪个特征在划分数据分类是起决定性作用,或者说使用哪个特征分类能实现最好的分类效果。这样,为了找到决定性的特征,划分川最好的结果,我们就需要评估每个特征。当找到最优特征后,依此特征,数据集就被划分为几个数据子集,这些数据自己会分布在该决策点的所有分支中。此时,如果某个分支下的数据属于同一类型,则该分支下的数据分类已经完成,无需进行下一步的数据集分类;如果分支下的数据子集内数据不属于同一类型,那么就要重复划分该数据集的过程,按照划分原始数据集相同的原则,确定出该数据子集中的最优特征,继续对数据子集进行分类,直到所有的特征已经遍历完成,或者所有叶结点分支下的数据具有相同的分类。

创建分支的伪代码函数createBranch()如下:

 检测数据集中的每一个子项是否属于同一分类:
if so return 类标签;
else
    寻找划分数据集的最好特征
    划分数据集
    创建分支结点
        for 每个分支结点
            调用函数createBranch并增加返回结点到分支结点中
    return 分支结点

下面我们给出使用决策树的一般流程:

(1)收集数据
(2)准备数据:构造树算法只适用于标称型数据,因此数值型数据必须离散化
(3)分析数据
(4)训练数据:上述的构造树过程构造决策树的数据结构
(5)测试算法:使用经验树计算错误率
(6)使用算法:在实际中更好地理解数据内在含义

2.2 划分数据集的原则:信息增益

  划分数据集的大原则是:使得无序的数据变得更加有序。
  我们可以使用多种方法划分数据集,每种方法都有各自的优缺点,这里我们使用信息增益来度量划分数据前后信息发生的变化,进而指导我们划分数据。
  这里我们先引出信息熵的概念:
对于可能被划分在多个分类中的待分类的事务,符号的信息被定义为:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值