决策树详解(-)

决策树学习基本算法:


输入:训练集 D=(x1,y1),(x2,y2)......(xm,ym)
输出:属性集 A=a1,a2...ad
过程:函数 TreeGenerate(D,A)

  1. 生成节点 node
  2. ifD 中样本全属于同一类别 C then
  3.       将 node 标记为C类叶节点; return;
  4. endif
  5. ifA=ORD 中样本在 A 上取值相同then
  6.       将 node 标记为叶节点,其类别标记为 D 中样本数最多的类;return
  7. endif
  8. 从A中选择最优划分属性 a .选取算法有多种
  9. for a 的每一个值 a vdo
  10.       为 node 生成一个分支,令 Dv 表示在 a 上取值为 av 的样本子集;
  11.       ifDv 为空 then
  12.            将分支节点标记为叶节点,其类别标记为 D 中样本最多的类;return
  13.      else
  14.            以 TreeGenerate(Dv,Aa) 为分支结点
  15. endif
  16. endfor

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


在决策数算法中,有三种情形会导致递归返回:

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

在第(2)种情形下,我们把当前结点标记为叶节点,并将其类别设定为该结点所含样本最多的类别;在第(3)种情形下,同样把当前结点标记为叶结点,但其类别设定为父节点所含样本最多的类别。注意这两种处理实质不同:前者实在利用当前结点的后验分布;而后者是利用父节点的样本分布作为当前结点的先验分布。

两种典型的算法:
(一)ID3算法-分类
ID3算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归的构造决策树。但以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征问题
(二)C4.5算法-分类
C4.5算法与ID3算法类似,在后者基础上做了几点改进

  1. 先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择信息增益率最高的。
  2. 可以对连续属性进行处理
  3. 可以对缺失属性进行处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值