机器学习(二)-决策树

决策树(Decision Tree)


决策树例子

决策树是用于分类的一种机器学习算法。其最大的特点就是简单,直观. 由于资料来自于之前的笔记。原例子的出处找不到,干脆就手绘算了~~XD。
其中如果数据不是离散值,要先处理成离散值再进行决策树的计算。
这里写图片描述
(图1)

用一个例子来讲吧。 如上图,现在是有14条数据都从调研中得到,其中是研究是否买电脑的数据,RID是列号,是每条数据唯一的身份标识。标号1,Age记录的是参访的人的年龄情况。 标号2是记录参访人的收入状况,3是记录是否是学生。 4是记录受访人的信用状况。 标号5是判断结果是最后受访人是否买了电脑。

通过决策树我们可以找出1-4标号,同第5标号之间所隐藏的内在联系和规律。例如: 中年人,一定会买电脑。这就是从上图所得出的规律之一。由决策树,能更号更完善的知道这些规律。

而决策树就是如下图所示的一棵树:

这里写图片描述
(图2)

而节点就是标签(图1中的4个标签),图一中的标签5是最后的结果标签。不计入分类。通过某种算法(后面讲)来决定用哪个标签来作为分类会得到最好的效果。(此图是为了掩饰随便划分的为了讲解下,并没有详细计算)如上图中第一个标签选择用age 分, age 有三类,Y,M,S。 把14条数据根据age的分类分别分到这三类下。在m分类下的数据有相同的判别标签,都是Y所以这条分支得到了结果end。而age=Y这一支的判别类型不统一,所以要再分。此时因为age标签已经被使用了,剩下的还剩Income , Student 以及Credit. 在其中用算法再挑选一个分类标签(注,只有“父亲”使用过的标签,“孩子”不能使用)所以age=S这一只同样剩下Income Student以及Credit这三个标签。这样分一只到最后满足结束条件(后面讲)。

算法

 1. 用<判别算法>*计算标签A能最有效的分割类型
 2. 用标签A的类型分割数据
 3.  用<判别算法>计算“父亲”节点中未使用的其他标签中最合适的分割标签B
 4. 重复1-3依次递归,知道满足<结束条件>

判别算法:

根据判别算法的不同决策树也被分为不同种类:但是其核心就是一种贪婪算法。

D:标识全局的数据条目数,如上面例子D=14m
m:指的是判别标签的种类数量,如例子中只有Y和N(第五标签)所以就m=2;m只和判别标签有关。
pi:指在第i类的条目数占总条目数的概率。如例子里是p1是等于Y的条目占总条目的比例。p2是指等于N的条目数占总条目的比例。
k:指的是这个标签有几种情况,如用age 则k=3
Dj:是指属于这个情况的条目数
Info(Dj):指把Dj带入Info(D),并且其中个的m是在例如age 分类为y的时候的Y的概率的log加上age分类为S的概率的log再加上age分类为m的log.

  1. ID3: 采用Info-gain来判别
    Info-gain: 的基本公式
    这里写图片描述
    这里写图片描述
    这里写图片描述
    最后结果,Gain(R)最大的,为最优。因为说明,用此来分类,则信息的增长最快。

    例子:
    根据图1写的例子:

这里写图片描述
之后的C4.5和Cart就不写例子了。

  1. C4.5: 采用gain ratio
    这里写图片描述
    这里写图片描述
  2. Cart: 采用Gini index来判别
    这里写图片描述
    这里写图片描述这里写图片描述

结束条件:

主要有两个结束条件

  1. 所在的分类中,最后的判别标签只有一种如全是Y或者全是N
  2. 分类的标签耗尽,其中的分类会服从多数原则。那个多选那个。

结果:

求出决策树后,从跟节点到叶子节点的每一条路径都是一个分类规则,如图二:中的可以总结出凡是age=m的人都买电脑。


总结:

  1. 决策树会面临overfitting 就是过度拟合的问题:
    解决方法很简单就是——剪枝条。而剪枝又分为先剪枝和后剪枝。
    • 先剪枝:
      在计算的时候就设定好阈值,如达到阈值后就不再往下分
    • 后剪枝:
      在决策树完成后再根据设置的设定来去掉某些分支

2.决策树的缺点:

-不太能处理连续性的数据

-适合处理小型的数据,可规模性不太好

-类型众多时准确度不高


啊啊~感觉写博客比自己想的要累的啊 知识来源于我的笔记~~XD 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值