机器学习之决策树——ID3算法简介

决策树简介



    在相亲过程中,女方会根据男方的一些特征(年龄、长相、收入、是否公务员)来决策自己的行为(见还是不见)。如果利用kNN算法来预测女方是否去见相亲对象的话,需要保存样本数据,且需要将年龄等这些特征先转换为对应的数值,同时需要对所有数据计算距离值,非常耗时。因此,我们可以利用概率测量方法(决策树)来处理分类问题。

决策树定义

    决策树的基本组成部分:决策节点、分支和叶子。

    在上图中,第一次的决策节点是年龄;分支是长相、收入、公务员;叶子是见、不见。上图就是利用决策树进行分类的过程,是我们需要的结果。

ID3算法简介

    对于女方来说,一个男人的特征权重是不一样的,到底哪个最重要,哪个次之,是需要进行分类的。如何分类,我们就需要利用一些决策树算法。下面将介绍一种算法:ID3算法。

    ID3算法使用信息增益度来进行分类,关于相关概念,我们用一个简单的示例来介绍。

基于ID3算法的分类流程

1、样本数据如下:



2、计算根结点的熵值:

从类别来看,好=6次,差=6次,因此,根结点的熵值为:

E=-(6/12)log2(6/12)-(6/12)log2(6/12)=1


信息熵的普及:

信息熵表示的是不确定的量度。信息存在不确定性,一般来说,小概率事件比大概率事件包含的信息量大,而熵就是度量信息量大小的方法。假设X是一个离散随机变量,X的熵定义为:


对于结果只有2种情况(如好和差),即P{X=0}=p,P{X=1}=1-p,则H(X)=plogp-(1-p)log(1-p),熵函数曲线如下:



3、计算样本中各个属性(性格、父母的教育程度、性别)的熵值及信息增益度:

对于属性“性格”来说,分为“内向”和“外向”。我们先来计算“内向”的信息熵:


E(性格,内向)=-(4/6)log2(4/6)-(2/6)log2(2/6)=0.9183

以此内推:

E(性格,外向)=-(4/6)log2(4/6)-(2/6)log2(2/6)=0.9183

所以,属性为性格的信息增益度为:

Gain(性格)=E-E(性格)=1-[(1/2)*0.9183+(1/2)*0.9183]=0.0817

同理可得:

Gain(父母教育程度)=0.4591

Gain(性别)=0


4、按照信息增益度的大小进行第一次分类:

因为Gain(父母的教育程度)>Gain(性格)>Gain(性别),所以第一次划分属性时,以“父母的教育程度”进行划分,其第一次的决策树如下图:



5、计算样本中各个属性(性格、性别)的熵值和增益度:

经过一次划分后,属性“父母教育程度”为良的结果都为“好”;因此,第二次划分的样本如下:


Gain(性格)=0.3113

Gain(性别)=0.2045


6、按照信息增益度的大小进行第二次分类:

Gain(性格)>Gain(性别),因此用“性格”来划分,得到的决策树如下:



7、得到最终的决策树:
    目前只有“父母教育程度”为“中”和“差”的“外向”小学生还没有明确类别,需要用属性“性别”来进一步划分,得到最终的决策树如下:





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值