《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(四)--决策树(Decison-Tree)

一、决策树的概论

决策树是一种基本的分类与回归方法,是表示基于特征对示例进行分类与回归的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。

一般的,一颗决策树包含一个根结点,若干个内部节点和若干个叶结点,每个叶结点对应于决策结果,其他的每个结点则对应于一个属性测试,生成决策树的基本流程遵循‘分而治之’策略。具体算法如下:


输入:训练集D={(x_{1},y_{1}),...,(x_{m},y_{m})};属性集A={ a_{1},...,a_{d}}.

过程:

 1.生成节点node;

 2.if D中的样本全属于同一类别C then

 3.   将node标记为C类叶节点;return

 4.end if

 5.if A=\varnothing or D中样本在A中取值相同 then

 6.   将node标记为叶结点,其类别标记为D中样本数最多的类;return

 7.end if

 8.从A中选择最优划分的属性a_{*}

 9.for a_{*}的每一个值a_{*}^{v} do

10.  为node生成一个分支;令D_{v}表示D中在a_{*}上取值为a_{*}^{v}的样本子集;

11.   if D_{v}为空 then

12.       将分支结点标记为叶结点,其类别标记为D中样本最多的类;return

13.   else

14.        递归该函数;

15.   end if

16.end for

输出:以node为结点的一颗决策树


二、决策树中特征选择

2.1 信息增益-应用到ID3算法(选取最大的值

特征A对训练集D的信息增益g(D,A),定义训练集D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:

g(D,A) = H(D)-H(D|A)

其中有:

H(D) = -\sum_{k=1}^{K} \frac{\left | C_{k} \right |}{\left | D \right |}log_{2}\frac{\left | C_{k} \right |}{\left | D \right |}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值