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

来源:互联网 发布:手机双桌面软件 编辑:程序博客网 时间:2024/06/08 18:39

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

一、决策树生成算法

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

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

算法: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:《数据挖掘原理与算法(第二版)》

正在学习中,请多指教。

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

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

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

原创粉丝点击