分类算法--决策树基本算法--决策树生成算法

决策树分类算法通常分为两个步骤,决策树生成和决策树修剪。

一、决策树生成算法

输入:一组带有类别标记的训练数据

输出:一个二叉树或多叉树。二叉树的内部节点(非叶子节点)一般表示为一个逻辑判断,树的边是逻辑判断的分支结果。多叉树的内部节点是属性,该节点的边是该属性的所有取值,因此有几个属性就有几条边。树的叶子节点是类别标记。

算法:Gernerate_decision_tree

算法输入:训练样本samples,由离散值属性表示;候选属性的集合attribute_list。

算法输出:一棵决策树

1。创建节点N;

2。IF samples 都在同一类C,则

3。    返回N作为叶节点,并以类C标记

4。IF attribute_list为空,则

5。    返回N作为叶节点,标记为samples中最普通的类;//多数表决

6。选择attribute_list中具有最高信息增益的属性test_attribute;

7。标记节点N为test_attribute;

8。FOR each test_attribute中的已知值ai//划分samples

9。    由节点N长出一个条件为test_attribute=ai的分支;

10。设si是samples中test_attribute=ai的样本的集合;//一个划分

11。IF si为空,则

12。    加上一个树叶,标记为samples中最普通的类;

13。ELSE 加上一个由Gernerate_decision_tree(si,attribute_list-test_attribute)返回的节点。

 

构造决策树的关键在于如何选择好的逻辑判断或属性。对于同一组训练集,可以有很多决策树符合这组例子,但是存在一个最优的决策树。一般情况下,数越小的预测能力越强。要构造好的决策树,关键在于选择产生合适分支的属性。

 

From:《数据挖掘原理与算法(第二版)》

正在学习中,请多指教。

大家知道的分类算法、模型还有哪些呢?

感觉决策树和搜索树在性质上有很大的相同点,只不过搜索树一般是在一个属性上搜索,而决策树是多属性,所以相应的也会存在属性的先后选择对最终结果影响的问题。

信息增益计算方法还没给出,待续。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值