机器学习决策树(1)

决策树基本流程决策树是基于树结构来进行决策的。西瓜问题的决策树如下图所示。 通过一系列的判断得到最终的决策:这是个好瓜。可以看出,决策过程的最终结论对应了我们所希望的判定结果。决策过程中提出的每个判定问题都是对某个属性的“测试”。如“色泽=?”每个测试的结果或是导出最终结论或是导出进一步的判定问题,考虑范围在上次决策结果的限定范围内。如图中判断根蒂,仅考虑青绿色瓜的根蒂。...
摘要由CSDN通过智能技术生成

决策树基本流程

决策树是基于树结构来进行决策的。西瓜问题的决策树如下图所示。
这里写图片描述

通过一系列的判断得到最终的决策:这是个好瓜。

可以看出,

  • 决策过程的最终结论对应了我们所希望的判定结果。

  • 决策过程中提出的每个判定问题都是对某个属性的“测试”。如“色泽=?”

  • 每个测试的结果或是导出最终结论或是导出进一步的判定问题,考虑范围在上次决策结果的限定范围内。如图中判断根蒂,仅考虑青绿色瓜的根蒂。

一个决策树包含一个根节点、若干个内部节点和若干个叶节点;叶节点对应于决策结果,其他每个节点对应于一个属性测试。

决策树学习的目的是为了产生一颗泛化能力强的决策树,基本流程遵循简单直观的“分而治之”

训练集 D={ (x1,y1),(x2,y2),,(xm,ym)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) }
属性集 A={ a1,a2,,ad} A = { a 1 , a 2 , … , a d }

TreeGenerate(D,A)
    生成节点node
    if D中样本全属于同一类别C then
       将node标记为C类叶节点;return
    end if
    if A=∅ OR D中样本在A上取值相同 then
       将node标记为叶节点,类别标记为D中样本数目最多的类;return
    end ifA中选择最优划分属性a;
    for a* 的每一个值a*_v do
       为node生成一个分支;令D_v表示D中在a*上取值为a*_v的样本子集
       if D_v=∅ then
           将分支节点标记为叶节点,分类标记为D中样本最多的类;return
       else
           以 TreeGenerate(D_v,A\{
  a*})为分支节点
       end if
    end for

显然,决策树生成是一个递归过程,在上述算法中有三种情况可以导致递归返回:

  1. 当前节点包含的样本全属于同一类别,无需划分
  2. 当前属性集为空,或是当前所有样本在当前所有属性集上取值相同,无法划分
  3. 当前节点包含的样本集合为空,不能划分

注意第2和第3种情形,都把当前节点标记为叶节点,第2种情形是将类别标记为该节点所含样本最多的类别,是在利用当前节点的后验分布,第3种情形则是将类别标记为父节点所含样本最多的类别,是把父节点的样本分布作为当前节点的先验分布


划分选择

决策树学习的关键是从A中选择最优划分属性a∗,根据什么来进行划分呢?一般来说随着划分过程不断进行,希望决策树的分支节点所包含的样本尽可能属于同一个类别,即节点的纯度越来越高。


信息增益

信息熵是度量样本集合纯度最常用的一种指标。信息熵越小,纯度越高

假设当前集合D种第k类样本所占比例为 pk(k=1,2,|Y|) p k ( k = 1 , 2 , … | Y | ) ,则D的信息熵定义为:

Ent(D)=k=1|Y|pklog2pk E n t ( D ) = − ∑ k = 1 | Y | p k l o g 2 p k

假定属性a有V个可能取值 { a1,a2,,aV} { a 1 , a 2 , … , a V } ,若使用a对样本集D进行划分,就会产生V个分支节点,其中第v个分支节点包含了D中所有在属性a上取值为 av a v 的样本,记为 Dv D v .

给分支节点赋予权重 |Dv||D| | D v

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值