- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模式识别——决策树算法
数学与计算机学院
课程名称: 模式识别
题 目: 决策树
任课老师: 王类
年级专业: 2014级应用数学
姓 名: 闫辉
时 间: 2014 年 12 月 10 日
目 录
一介绍 3
二算法描述 3
三算法java实现 5
1 实例 5
2 算法的JAVA实现 7
14
1 优势 14
2 弊端 14
五 算法改进 14
15
16
16
17
参考文献 18
决策树算法
一介绍
决策树是数据挖掘分类算法的一个重要方法。在各种分类算法中,决策树是最直观的一种。决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3,?C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。
二算法描述
信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。 ID3算法主要针对属性选择问题,是决策树学习方法中最具影响和最为典型的算法。ID3采用贪心方法,其中决策树以自顶向下递归的分治方式构造。大多数决策树归纳算法都沿用这种自顶向下的方法,从训练元组集和它们的相关联的类标号开始构造决策树。随着树的构建,训练集递归地划分成较小的子集。
ID3算法中关键的一步是属性选择度量,即选择分裂准则。其中的三种度量方法分别是的内容转为确定的内容,因此信息伴着不确定性。
算法的基本策略如下:
算法:Generate_decision_tree。由数据划分D的训练元组产生决策树。
输入:
数据划分D是训练元组和对应类标号的集合
attribute_list,候选属性的集合
Attribute_selection_method,一个确定“最好”地划分数据元组为个体类的分裂准则的过程。这个准则由分裂属性和分裂点或分裂子集组成。
输出:一棵决策树
方法:
( attribute_list - splitting_ attribute ; //删除划分属性
for splitting_criterion的每个输出j // 划分元组并对每个划分产生子树
设Dj是D中满足输出j的数据元组的集合;//一个划分
if Dj为空then
加一个树叶到节点N,标记为D中的多数类;
else 加一个由Generate_decision_tree(Dj,attribute_list)返回的节点到节点N;
end for
返回N;
上述算法基本策略中,用到三个参数D、attribute_list和Attribute_selection_method调用该算法。其中,D为数据划分;attribute_list是描述元组的属性列表;Attribute_selection_method指定选择属性的启发式过程,所选择的属性按类“最好”地区分元组。该过程使用一种属性选择度量,如信息增益和Gini指标 (1)
其中,pi是D中任意元组属于类Ci的概率,并用|Ci,D|/|D|估计。使用以2为底的对数函数,因为信息用二进位编码。Info(D)是识别D中的元组的类标号所需的平均信息量。这里,我们所具有的信息只是每个类的元组所占的百分比。Info(D)又称D的熵。
假设按属性A划分D中的元组,其中属性A根据训练数据的观测具有v个不同值{a1,a2,…,av}。可以用属性A将D划分为v个子集{D1D2,…,Dv },其中Dj包含D中的元组,它们在A上具有值Aj。这些划分将对应于从节点N生长出来的分枝。理想地,我们希望该划分产生元组的准确分类,即,每个划分都是纯的。为了得到准确的分类我们还需要多少信息?这个量由下式度量:
(2)
项充当第j个划分的权重。是基于按A划分对D的元组分类所需要的期望信息。所需要的信息越小,划分的纯度越高。
信息增益定义为原来的信息需求(即仅基于类比例)与新的需求(即对A划分之后得到的)之间的差。即是:
(3)
Gain(A)告诉我们通过A的划分我们得到了多少。选择具有最高信息增益的属性作为节点N的分裂属性。这等价于按能做“最佳划分”的属性A划分,使得完成元组分类还需要的信息最少。
三算法java实现
1 实例
10 男 中 否 2 10 女 中 否 3 10 女 中 否
文档评论(0)