决策树算法

    决策树算法是一种逼近离散函数值的方法,是一种典型的分类方法。

决策树算法构造决策树来发现数据中蕴涵的分类规则。如何构造精度高,规模小的决策树是决策树算法的核心内容。一般情况下分两步进行,

1.决策树的生成。

2.决策树的剪枝。(对上一个阶段生成的决策树进行检验,校正和修下的过程,方法:使用测试数据集校验1中生成的决策树,将那些影响准确性的分枝剪除)

典型算法

ID3算法,此算法目的在于减少树的深度。但是忽略了叶子数目的研究。

C4.5算法,在ID3算法的基础上进行了改进,对于预测变量的缺值处理,剪枝技术,派生规则等方面做了较大的改进,既适合于分类问题,又适合于回归问题。总结:产生的分类规则易于理解,准确率较高。不过在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,在实际应用中会导致算法低效。

决策树算法的优点如下:

1.分类精度高;

2.生成的模式简单;

3.对噪声数据有很好的健壮性。

以上为概念总结。

——————————————————————————————————————————————————————————

-信息增益

  在划分数据集之前后信息发生的变化称之为信息增益,计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。

计算方法(香农熵)

  熵定义为信息的期望值。计算公式如下:

符号xi的信息定义为l(xi)=-log2p(xi),其中p(xi)是选择该分类的概率。(各分类在总实例中得比例)

所有类别所有可能值包含的信息期望值H=-∑ni=1p(xi)log2p(xi),其中n分类的数目。

-划分数据集

 对每个特征划分数据集的结果计算一次信息熵,然后判断按照哪个特征划分数据集是最好的划分方式。

  增益=元数据的熵-按特征量划分的熵   -->增益越大 划分越优

-递归构建决策树

  工作原理如下:

 1.得到原始数据集

 2.基于好的属性划分数据集

 3.特征值多于两个的情况下。可能存在大于两个分支的数据集划分。第一次划分后,数据被向下传递到树分支的下一个节点,在这个节点上再次划分数据。

 递归的结束条件:1.遍历完所有划分数据集的属性 2 每个分支下得所有实例都具有相同的分类。

 

后续:改进算法的总结和代码整理

posted @ 2014-12-17 13:49  dayday+up  阅读(1002)  评论(0编辑  收藏  举报