机器学习——决策树ID3

来源:互联网 发布:知乎提问有什么话题 编辑:程序博客网 时间:2024/04/30 01:57

一.决策树算法概述:

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。

一个很直观的描述,可以见下面的图,跟数据结构里面的树很是相似的。



二,决策树的优缺点:

优点:计算复杂度度不高,输出结果易于理解,对中间值的缺失不敏感,可以理解不相关特征数据。

缺点:可能会产生过度匹配问题。

实用数据类型:数值型和标称型


三.决策树创建分支伪代码:

检测数据集中的每个子项是否属于同一分类:      If so return 类标签      Else            寻找划分数据集的最好特征            划分数据集            创建分支节点                  for 每个划分的子集                       调用函数createBranch并增加返回结果到分支节点中            return 分支节点

四.利用到的一些公式

信息增益:

划分数据集的大原则是:将无序的数据变得更加有序。组织杂乱无章数据的一种方法就是使用信息论度量信息,信息论是量化处理信息的分支科学。在划分数据集之前之后信息发生的变化称为信息增益,知道任何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。

“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合D中第k类样本所占的比例为pk(k = 1,2,3,..n),则D的信息熵定义为:


Ent(D)的值越小,则D的纯度越高。

假定离散属性a有V个可能的取值{a1,a2,...,an},若使用a来对样本集D进行划分,则会产生N个分支节点,其中第n个分支节点包含了D中所在属性a上取值为an的样本,记为Dn。信息增益定义为:


一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。



参考文献:机器学习(周志华),机器学习实战



0 0