决策树C4.5算法属性取值优化研究

决策树C4.5算法属性取值优化研究
决策树C4.5算法属性取值优化研究

Computer Science and Application 计算机科学与应用, 2015, 5, 171-178

Published Online May 2015 in Hans. https://www.360docs.net/doc/c14710183.html,/journal/csa

https://www.360docs.net/doc/c14710183.html,/10.12677/csa.2015.55022

C4.5 of Decision Tree Algorithm

Optimization of Property Values

Shifan Huang*, Yong Shen, Ruifang Wang, Huali Ma, Changgeng Chen, Yuhao Zhang

School of Software, Yunnan University, Kunming Yunnan

Email: *974794674@https://www.360docs.net/doc/c14710183.html,

Received: May 7th, 2015; accepted: May 23rd, 2015; published: May 28th, 2015

Copyright ? 2015 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

https://www.360docs.net/doc/c14710183.html,/licenses/by/4.0/

Abstract

About the decision tree algorithm, the quantity of the attribute value types determines the quan-tity of the decision tree branch. Based on this, we put forward a new method which can optimize attribute value. The examples show that the method can optimize the quantity of the decision tree branch, and reach the purpose that simplifies the decision tree structure. This method has no ef-fect on the classification accuracy of the C4.5 algorithm.

Keywords

Decision Tree, C4.5 Algorithm, Property Values, Optimization

决策树C4.5算法属性取值优化研究

黄世反*,沈勇,王瑞芳,马华丽,陈长赓,张宇昊

云南大学软件学院,云南昆明

Email: *974794674@https://www.360docs.net/doc/c14710183.html,

收稿日期:2015年5月7日;录用日期:2015年5月23日;发布日期:2015年5月28日

摘要

在决策树算法中,属性取值种类的多少决定着决策树分支数量的多少。基于此,提出了一种新的属性取*通讯作者。

决策树C4.5算法属性取值优化研究

值优化的方法,实例证明该方法确实能优化生成决策树的分支数量,达到精简生成决策树结构的目的,且该方法对原C4.5算法的分类正确率没有影响。

关键词

决策树,C4.5算法,属性取值,优化

1. 引言

决策树算法是一种最简单、最直接、最有效的文本分类算法。最早的决策树算法是ID3算法[1],于1986年由Quinlan 提出,该算法是一种基于信息熵的决策树分类算法。由于该算法是以信息熵作为属性选择的标准,偏向于选择属性取值较多的属性,而属性取值较多的属性往往分类的贡献不大。因此,于1993年Quinlan 在ID3算法的基础上又提出了一种改进算法,即C4.5算法[2]。该算法采用信息增益率作为属性选择的标准,继承了ID3算法的所有优点,克服了ID3算法中偏向于选择属性取值较多的属性作为测试属性的不足,同时还能对连续属性与未知属性进行处理,在剪枝方面也有很大的改进。

C4.5算法作为经典的决策树分类算法,已被广泛的应用到各个领域。但其仍然存在以下不足之处:1) 在计算信息增益的过程中(包括:分类所需信息量、信息熵、分割信息量)涉及的复杂的对数运算,计算机每一次计算都需要调用库函数,增大了生成决策树所需的时间开销;2) 生成决策树中分支数量过多,部分分支还能进行合并,进一步精简生成决策树的结构。

针对以上不足,已有很多学者提出了改进优化算法。文献[3],作者通过引入高等数学中等价无穷的原理,对C4.5算法中的计算公式进行了改进,用简单的四则混合运算取代了复杂的对数运算,减少了生成决策树所需的时间开销。文献[4],作者提出了一种对属性取值进行优化合并的方法,该方法通过将属性的不同取值分成多个样本子集,并计算各个样本子集的熵以及样本子集的平均熵值,并将熵值大于平均熵值的样本子集进行合并,并重新定义一个属性取值替代原数据表中的属性取值,实例证明该方法确实能起到精简生成决策树结构的作用。

本文针对生成决策树分支数量过多的不足,提出了一种新的属性取值优化方法,并用实例分析验证了该方法的有效性。

2. C4.5算法介绍

C4.5算法是一种基于信息熵的决策分类算法,该算法的核心思想是根据信息熵原理,选择样本集中信息增益率最大的属性作为分类属性,并根据该属性的不同取值构造决策树的分支,再对子集进行递归构造,直到完成决策树的构造[5]。

假设样本空间D 中有正例集P 个、反例集N 个,且D = P + N ,则一棵决策树能对待分类数据集做出正确类别判断所需的信息量为:

()22,log log P P N N

I P N D D D D

=?? (1)

如果以属性A 作为决策树的根节点,且A 具有V 个值()123,,,,v V V V V ,它将H 分为V 个样本子集

()123,,,,v H H H H ,设i H 中共有d 个数据集,其中有p 个正例和n 个反例,则子集i H 的信息熵()

i E H 可由下式计算:

()22log log i p p n n

E H d d d d

=?? (2)

决策树C4.5算法属性取值优化研究

以属性A 为根节点分类的信息熵为:

()()1

v

i i d

E A E H D

==∑

(3) 则,以属性A 为根节点的信息增益为:

()()(),G A I p n E A =? (4)

在C4.5算法中,是以信息增益率来选择分类属性的,而信息增益率等于信息增益与分割信息量的比值,其中分割信息量可由下式计算:

()1

SplitI log m

i i i i A p p ==?∑ (5)

其中,i p 表示属性A 的所有取值中,任意样本子集占总样本集的比例。则,信息增益率可由下式计算:

()()()

G-R SplitI G A A A =

(6)

3. C

4.5算法中属性取值的优化改进

3.1. 算法改进的基本思想

如何很好的选择测试属性决定着所构造决策树模型的质量,而所选测试属性的可能取值的数量与树的分支数量成正比。在C4.5算法中,一切计算的依据来源于信息论中的熵。因此,本文在信息熵的计算过程中,通过对测试属性的优化改进,以减少决策树的分支数量,提高决策树的质量。

根据信息熵的定义,熵值越大,对分类决策的贡献就越小。反之,熵值越小,对分类决策的贡献就越大,即能确定更多待分类对象所属类别。当信息熵为零时,对分类决策的贡献最大。当信息熵为零时,只存在两种情况,所有样本子集同属于正例集或者反例集(本文只研究只有两种决策属性的情况)。基于此,本节算法改进的基本思想为:对于给定的一组数据集,计算每个属性的信息增益率,选取信息增益最大的属性,将该属性按照属性取值的不同划分为多个样本子集,计算每一个样本子集的信息熵,取出信息熵为零的所有样本子集,并将其同属正例集或反例集的样本子集进行合并,定义新的属性取值,得到一个新的、复合的样本子集,并用该复合样本子集在测试集中替换构成该复合子集的样本子集。最后,再利用新的数据集来建立决策树。

3.2. 改进后算法的计算步骤

由上一节的分析,我们可以得到改进后算法的基本计算步骤,如下所示: 1) 根据给定的测试集,计算各个属性的信息增益率;

2) 选择信息增益率最大的属性,将该属性按照属性取值的不同划分为多个样本子集; 3) 计算各样本子集的信息熵;

4) 选取出所有信息熵为零的样本子集,并将其中同属于正例集或反例集的样本子集进行合并,自定义新的属性取值,得到一个新的、复合的样本子集;

5) 用新形成的复合样本子集取代原数据集中组成该复合样本子集的各个样本子集; 6) 利用新形成的数据集,计算信息增益率,其余部分与C4.5算法相同。

4. 实例分析

表1是对学生某次考试成绩的描述,已经过离散化处理,并按照分数段将各科目分为优、良、中、

决策树C4.5算法属性取值优化研究

差,总评分为两类:合格与不合格,如表1所示。

4.1. 采用第3节中的改进算法对表1进行优化及决策树的生成过程

本文中对分类所需信息量、信息熵、信息增益、分割信息的计算采用文献[6]中改进的C4.5算法计算公式进行计算。与文献[3]类似,文献[6]也是通过引入高等数学中等价无穷小的理论,对C4.5算法计算公式中繁多的对数运算进行了优化。不同的是,二者优化后的计算公式略有不同,文献[6]优化后得到的计算公式更加简洁、直观,方便计算。因此,本文选用文献[6]中的优化结果来进行相关计算。

1) 计算各属性的信息增益率

()

2173

0.1320

I D ×== ()Gain-Ratio 2.21=?语文 ()Gain-Ratio 2.64=?数学 ()Gain-Ratio 3=?英语 ()Gain-Ratio 1.06=?文综

2) 选取信息增益率最大的属性划分样本子集

由表1可得,我们可以将属性文综划分为:优综、良综、中综、差综四个样本子集。 3) 计算各样本子集的信息熵 属性文综各样本子集信息熵如下:

()

()()()30707102

0;0;0.88;0;3782

E E E E ××××========优良中差综综综综 4) 合并信息熵为零且同属正例集或反例集的样本子集

在属性文综的各样本子集中,信息熵为零的有三个子集:优综、良综及差综,其中优综和良综同属合格,而差综属于不合格,因此可以将优综、良综进行合并,并定义新的属性取值为:优良。

5) 合并后的新数据集如表2所示。

经属性优化合并后,属性文综的属性取值由原来的四个变为现在的三个,这样就能减少生成决策树的分支数量。

6) 决策树的生成

a) 以属性文综为根节点建立决策树如图1所示。 b) 将剩余属性计算其信息增益率如下:

()

2

71

0.118I D ×== ()()()Gain-Ratio 0.62;Gain-Ratio 1.08;Gain-Ratio 0.59=?=?=?数学语文英语

由计算结果可得,属性英语的信息增益率最大,计算属性英语各个样本子集的信息熵,合并属性取值后得到表3。

选取属性英语作为第二层分类属性,生成的决策树如图2所示。 c) 将剩余属性调用1到5得到表4

到此,在剩余属性中,随便选择哪个都能确定分类。最终的决策树如图3所示。

4.2. 利用文献[6]中改进的C4.5算法及表1生成决策树

由表1可知,决策属性为总评,共有20个属性值,其中正例值有17个,反例值有3个,分类所需信息量为:

决策树C4.5算法属性取值优化研究Table 1. Instantiation data table

表1. 实例数据表

序号语文数学英语文综总评

1 中良差中合格

2 中良良良合格

3 良中中良合格

4 优中良良合格

5 中中中中合格

6 良差中差不合格

7 优差差中不合格

8 良优优优合格

9 中中优良合格

10 优中中中合格

11 差良良差不合格

12 良中良良合格

13 中差良中合格

14 中中优良合格

15 良差良中合格

16 优中优良合格

17 优优优优合格

18 良差良中合格

19 良中差优合格

20 中中中中合格

Table 2. After the first method processing and merging data table

表2. 经方法一处理第一次合并后的数据表

序号语文数学英语文综总评

1 中良差中合格

2 中良良优良合格

3 良中中优良合格

4 优中良优良合格

5 中中中中合格

6 良差中差不合格

7 优差差中不合格

8 良优优优良合格

9 中中优优良合格

10 优中中中合格

11 差良良差不合格

12 良中良优良合格

13 中差良中合格

14 中中优优良合格

15 良差良中合格

16 优中优优良合格

17 优优优优良合格

18 良差良中合格

19 良中差优良合格

20 中中中中合格

决策树C4.5算法属性取值优化研究

Table 3. After the first method processing and second merging data table 表3. 经方法一处理第二次合并后的数据表

序号 语文 数学 英语 总评 1 中 良 差 合格 5 中 中 中良 合格 7 优 差 差 不合格 10 优 中 中良 合格 13 中 差 中良 合格 15 良 差 中良 合格 18 良 差 中良 合格 20

中良

合格

Table 4. After the first method processing and third merging data table 表4. 经方法一处理第三次合并后的数据表

序号 语文 数学 总评 1 中 良 合格 7

不合格

Figure 1. The first step in generating the decision tree 图1. 生成决策树第一步

Figure 2. The second step in generating the decision tree 图2. 生成决策树第二步

Figure 3. By the improved algorithm generates decision tree figure 图3. 由本文改进算法最终生成的决策树图

文综

合格

不合格

优良中

差文综

英语

合格

不合格

合格优良中差中良

文综

英语

合格

不合格

数学合格

不合格

合格

优良中差中良

良差差

决策树C4.5算法属性取值优化研究

()0.13I D =

各个属性的信息增益率如下(对信息熵、分裂信息量的计算此处省略,直接给出信息增益率的值):

()Gain-Ratio 2.21=?语文 ()Gain-Ratio 2.64=?数学 ()Gain-Ratio 3=?英语 ()Gain-Ratio 1.06=?文综

从以上计算结果可看出,文综的信息增益率最大,因此,将属性文综作为决策树的根节点,如图4所示。

剩余属性的信息增益率如下:

()0.11I D =

()()()Gain-Ratio 0.62;Gain-Ratio 1.08;Gain-Ratio 0.59=?=?=?数学语文英语

由计算结果可知,属性英语的信息增益率最大,选取属性英语作为下一层分类属性,则可得到决策树生成第二步图如图5所示。

到此,在剩余属性中,随便选择哪个都能确定分类。最终的决策树如图6所示。

Figure 4. The first step by not optimized attribute ingesting data to generate decision tree

图4. 由未优化属性取值数据生成决策树第一步

Figure 5. The second step by not optimized attribute ingesting data to generate decision tree 图5. 由未优化属性取值数据生成决策树第二步

Figure 6. By not optimized attribute ingesting data to generate decision tree 图6. 由未优化属性取值数据生成决策树

文综

合格

不合格

差合格

良文综

英语

合格

不合格

合格

合格

差中

良差

合格

良文综

英语

合格

不合格

数学

合格

不合格

合格

差中

良差

合格

良良合格

决策树C4.5算法属性取值优化研究

由图3、图4可知,本文改进算法明显起到了减少生成决策树分支数量的作用,精简了生成决策树的结构。同时,因为文献[6]中的改进算法并没有触及到C4.5算法的核心步骤,只是对计算公式进行了化简,因此,不会影响的生成决策树的分类正确率。可见,本文所提出的改进算法与文献[6]中的改进算法巧妙合并是非常有效的。

5. 结束语

本文提出了一种新的属性取值优化算法。由实验结果可得:该优化算法明显减少了生成决策树的分支数量,精简了生成决策树的结构,值得进一步推广该算法的应用领域。因,本文的研究只针对只有两类的情况,当出现多类的情况时不再适用。因此,下一步将主要研究多类情况下的属性取值优化算法。

基金项目

南省软件工程重点实验室面上基金项目(2012SE306;2011SE12)。

参考文献(References)

[1]Quinlan, J.R. (1986) Induction of decision trees. Machine Learning, 1, 81-106.

[2]Quinlan, J.R. (1993) C4.5: Programs for machine learning. Morgan Kaufmann, San Mateo.

[3]黄爱辉(2009) 决策树C4.5算法的改进及应用.科学技术与工程, 1, 34-36.

[4]刘鹏, 姚正, 尹俊杰(2006) 一种有效的C4.5改进模型. 清华大学学报:自然科学版, 46, 996-1001.

[5]李强(2006) 创建决策树算法的比较研究-ID3, C4.5, C5.0算法的比较.甘肃科学学报, 12, 84-87.

[6]周琦(2012) 改进的C4.5决策树算法研究及在高考成绩预测分析中的应用. 广西大学, 南宁.

决策树算法介绍(DOC)

3.1 分类与决策树概述 3.1.1 分类与预测 分类是一种应用非常广泛的数据挖掘技术,应用的例子也很多。例如,根据信用卡支付历史记录,来判断具备哪些特征的用户往往具有良好的信用;根据某种病症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。这些过程的一个共同特点是:根据数据的某些属性,来估计一个特定属性的值。例如在信用分析案例中,根据用户的“年龄”、“性别”、“收入水平”、“职业”等属性的值,来估计该用户“信用度”属性的值应该取“好”还是“差”,在这个例子中,所研究的属性“信用度”是一个离散属性,它的取值是一个类别值,这种问题在数据挖掘中被称为分类。 还有一种问题,例如根据股市交易的历史数据估计下一个交易日的大盘指数,这里所研究的属性“大盘指数”是一个连续属性,它的取值是一个实数。那么这种问题在数据挖掘中被称为预测。 总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。 3.1.2 决策树的基本原理 1.构建决策树 通过一个实际的例子,来了解一些与决策树有关的基本概念。 表3-1是一个数据库表,记载着某银行的客户信用记录,属性包括“姓名”、“年龄”、“职业”、“月薪”、......、“信用等级”,每一行是一个客户样本,每一列是一个属性(字段)。这里把这个表记做数据集D。 银行需要解决的问题是,根据数据集D,建立一个信用等级分析模型,并根据这个模型,产生一系列规则。当银行在未来的某个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、月薪等属性,来预测其信用等级,以确定是否提供贷款给该用户。这里的信用等级分析模型,就可以是一棵决策树。在这个案例中,研究的重点是“信用等级”这个属性。给定一个信用等级未知的客户,要根据他/她的其他属性来估计“信用等级”的值是“优”、“良”还是“差”,也就是说,要把这客户划分到信用等级为“优”、“良”、“差”这3个类别的某一类别中去。这里把“信用等级”这个属性称为“类标号属性”。数据集D中“信用等级”属性的全部取值就构成了类别集合:Class={“优”,

决策树算法研究及应用概要

决策树算法研究及应用? 王桂芹黄道 华东理工大学实验十五楼206室 摘要:信息论是数据挖掘技术的重要指导理论之一,是决策树算法实现的理论依据。决 策树算法是一种逼近离散值目标函数的方法,其实质是在学习的基础上,得到分类规则。本文简要介绍了信息论的基本原理,重点阐述基于信息论的决策树算法,分析了它们目前 主要的代表理论以及存在的问题,并用具体的事例来验证。 关键词:决策树算法分类应用 Study and Application in Decision Tree Algorithm WANG Guiqin HUANG Dao College of Information Science and Engineering, East China University of Science and Technology Abstract:The information theory is one of the basic theories of Data Mining,and also is the theoretical foundation of the Decision Tree Algorithm.Decision Tree Algorithm is a method to approach the discrete-valued objective function.The essential of the method is to obtain a clas-sification rule on the basis of example-based learning.An example is used to sustain the theory. Keywords:Decision Tree; Algorithm; Classification; Application 1 引言 决策树分类算法起源于概念学习系统CLS(Concept Learning System,然后发展 到ID3

基于决策树的分类方法研究

南京师范大学 硕士学位论文 基于决策树的分类方法研究 姓名:戴南 申请学位级别:硕士 专业:计算数学(计算机应用方向) 指导教师:朱玉龙 2003.5.1

摘要 厂 {数掘挖掘,又称数据库中的知识发现,是指从大型数据库或数据仓库中提取 具有潜在应用价值的知识或模式。模式按其作用可分为两类:描述型模式和预测型模式。分类模式是一种重要的预测型模式。挖掘分娄模式的方法有多种,如决 策树方法、贝叶斯网络、遗传算法、基于关联的分类方法、羊H糙集和k一最临近方、/ 法等等。,/驴 I 本文研究如何用决策树方法进行分类模式挖掘。文中详细阐述了几种极具代表性的决策树算法:包括使用信息熵原理分割样本集的ID3算法;可以处理连续属性和属性值空缺样本的C4.5算法;依据GINI系数寻找最佳分割并生成二叉决策树的CART算法;将树剪枝融入到建树过程中的PUBLIC算法:在决策树生成过程中加入人工智能和人为干预的基于人机交互的决策树生成方法;以及突破主存容量限制,具有良好的伸缩性和并行性的SI,lQ和SPRINT算法。对这些算法的特点作了详细的分析和比较,指出了它们各自的优势和不足。文中对分布式环境下的决策树分类方法进行了描述,提出了分布式ID3算法。该算法在传统的ID3算法的基础上引进了新的数掘结构:属性按类别分稚表,使得算法具有可伸缩性和并行性。最后着重介绍了作者独立完成的一个决策树分类器。它使用的核心算法为可伸缩的ID3算法,分类器使用MicrosoftVisualc++6.0开发。实验结果表明作者开发的分类器可以有效地生成决策树,建树时间随样本集个数呈线性增长,具有可伸缩性。。 ,,荡囊 关键字:数据挖掘1分类规则,决策树,分布式数据挖掘

数据挖掘决策树算法的改进与实现-精选资料

数据挖掘决策树算法的改进与实现 Data Mining Decision Tree Improvement&Implementation Xia Yan,Zhou Xiaohong,Wang Dong (Changchun Technology College,Changchun130033,China) :The author studied on existing Data Mining decision tree classification method based on the practical application,and applied to the system,achieved a decision support module. Keywords:Data Mining;Decision tree algorithm;Improve;Achieve 随着数据库技术的不断发展及数据库管理系统的广泛应用数据库中存储的数据量急剧增大, 在大量的数据背后隐藏着许多重要的信息, 如果能把这些信息从数据库中抽取出来, 将会产生重要的作用。 因此,数据挖掘涉及的学科领域逐渐扩大, 数据挖掘的方法也在不断地改进和提高。分类在数据挖掘中是一项非常重要的任务, 分类算法可以分为决策树分类算法、遗传算法、神经网络方法、K-最近邻分类算法等。这里,以疾病防控与儿童免疫管理系统中决策支持子系统的开发过程为例, 对决策树分类算法的改进及在实际中的应用进行阐述。 、数据选取和数据预处理

在本系统中 , 以预防接种中遇到异常反应后记录的“异常反 中的数据为例进行说明。具体实现过程详细说明 : 首 先输入训练集 , 由于在真实的 SQL Server 数据库当中 存储要求和减少存储时间 , 并非真正存储每个数据项的 属性值 而是用存储数字来对应相应的意义 , 如在数据库的数据表 程序页面时再映射回原来的值 , 为了说理清晰又限于篇幅 , 这里 只将所有数据集中有代表性的十几组数据作为分类模型创建的 输入训练集。 二、生成决策树 对训练集的每一个属性 , 计算其信息增益。以“月龄”属性 为例 , 每个结点中的正反例的个数分别为 [2,3] 、[3,2] 、[4,0], 分别计算如下 : info[2,3]= =0.971; info[3,2]= =0.971;info[4,0]=0; 计算信息熵 :E ( 月龄 )= =0.693; 计算该属性的信息增益量 , 选取信息增益最大的属性为节点 按该属性的值划分数据集合 :Gain ( 月龄 )=Info (9,5)-E ( 月 龄)=0.940-0.693=0.247; 属性都可计算每个结点的正反例的个数 ( 由于篇幅有限 , 不作计 算) 。通过对各属性信息增益的计算结果 , 选择“月龄”属性作为应调查表” , 为了降低 中, “性 性别”字段中 1”代表“男”、 “2”代表“女” , 反应到 同理, 对“注射反应”属性、 “出生状态”属性、 常住地”

决策树算法分析报告

摘要 随着信息科技的高速发展,人们对于积累的海量数据量的处理工作也日益增重,需发明之母,数据挖掘技术就是为了顺应这种需求而发展起来的一种数据处理技术。 数据挖掘技术又称数据库中的知识发现,是从一个大规模的数据库的数据中有效地、隐含的、以前未知的、有潜在使用价值的信息的过程。决策树算法是数据挖掘中重要的分类方法,基于决策树的各种算法在执行速度、可扩展性、输出结果的可理解性、分类预测的准确性等方面各有千秋,在各个领域广泛应用且已经有了许多成熟的系统,如语音识别、模式识别和专家系统等。本文着重研究和比较了几种典型的决策树算法,并对决策树算法的应用进行举例。 关键词:数据挖掘;决策树;比较

Abstract With the rapid development of Information Technology, people are f acing much more work load in dealing with the accumulated mass data. Data mining technology is also called the knowledge discovery in database, data from a large database of effectively, implicit, previou sly unknown and potentially use value of information process. Algorithm of decision tree in data mining is an important method of classification based on decision tree algorithms, in execution speed, scalability, output result comprehensibility, classification accuracy, each has its own merits., extensive application in various fields and have many mature system, such as speech recognition, pattern recognition and expert system and so on. This paper studies and compares several kinds of typical decision tree algorithm, and the algorithm of decision tree application examples. Keywords: Data mining; decision tree;Compare

基于决策树的分类算法

1 分类的概念及分类器的评判 分类是数据挖掘中的一个重要课题。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类可用于提取描述重要数据类的模型或预测未来的数据趋势。 分类可描述如下:输入数据,或称训练集(training set)是一条条记录组成的。每一条记录包含若干条属性(attribute),组成一个特征向量。训练集的每条记录还有一个特定的类标签(类标签)与之对应。该类标签是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1,v2,…,…vn:c)。在这里vi表示字段值,c表示类别。 分类的目的是:分析输入数据,通过在训练集中的数据表现出来的特性,为每一个类找到一种准确的描述或者模型。这种描述常常用谓词表示。由此生成的类描述用来对未来的测试数据进行分类。尽管这些未来的测试数据的类标签是未知的,我们仍可以由此预测这些新数据所属的类。注意是预测,而不能肯定。我们也可以由此对数据中的每一个类有更好的理解。也就是说:我们获得了对这个类的知识。 对分类器的好坏有三种评价或比较尺度: 预测准确度:预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是10番分层交叉验证法。 计算复杂度:计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是巨量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。 模型描述的简洁度:对于描述型的分类任务,模型描述越简洁越受欢迎;例如,采用规则表示的分类器构造法就更有用。 分类技术有很多,如决策树、贝叶斯网络、神经网络、遗传算法、关联规则等。本文重点是详细讨论决策树中相关算法。

决策树算法的原理与应用

决策树算法的原理与应用 发表时间:2019-02-18T17:17:08.530Z 来源:《科技新时代》2018年12期作者:曹逸知[导读] 在以后,分类问题也是伴随我们生活的主要问题之一,决策树算法也会在更多的领域发挥作用。江苏省宜兴中学江苏宜兴 214200 摘要:在机器学习与大数据飞速发展的21世纪,各种不同的算法成为了推动发展的基石.而作为十大经典算法之一的决策树算法是机器学习中十分重要的一种算法。本文对决策树算法的原理,发展历程以及在现实生活中的基本应用进行介绍,并突出说明了决策树算法所涉及的几种核心技术和几种具有代表性的算法模式。 关键词:机器学习算法决策树 1.决策树算法介绍 1.1算法原理简介 决策树模型是一种用于对数据集进行分类的树形结构。决策树类似于数据结构中的树型结构,主要是有节点和连接节点的边两种结构组成。节点又分为内部节点和叶节点。内部节点表示一个特征或属性, 叶节点表示一个类. 决策树(Decision Tree),又称为判定树, 是一种以树结构(包括二叉树和多叉树)形式表达的预测分析模型,决策树算法被评为十大经典机器学习算法之一[1]。 1.2 发展历程 决策树方法产生于上世纪中旬,到了1975年由J Ross Quinlan提出了ID3算法,作为第一种分类算法模型,在很多数据集上有不错的表现。随着ID3算法的不断发展,1993年J Ross Quinlan提出C4.5算法,算法对于缺失值补充、树型结构剪枝等方面作了较大改进,使得算法能够更好的处理分类和回归问题。决策树算法的发展同时也离不开信息论研究的深入,香农提出的信息熵概念,为ID3算法的核心,信息增益奠定了基础。1984年,Breiman提出了分类回归树算法,使用Gini系数代替了信息熵,并且利用数据来对树模型不断进行优化[2]。2.决策树算法的核心 2.1数据增益 香农在信息论方面的研究,提出了以信息熵来表示事情的不确定性。在数据均匀分布的情况下,熵越大代表事物的越不确定。在ID3算法中,使用信息熵作为判断依据,在建树的过程中,选定某个特征对数据集进行分类后,数据集分类前后信息熵的变化就叫作信息增益,如果使用多个特征对数据集分别进行分类时,信息增益可以衡量特征是否有利于算法对数据集进行分类,从而选择最优的分类方式建树。如果一个随机变量X的可以取值为Xi(i=1…n),那么对于变量X来说,它的熵就是

数据挖掘决策树算法的改进与实现

数据挖掘决策树算法的改进与实现 发表时间:2010-05-13T09:55:26.653Z 来源:《计算机光盘软件与应用》2010年第4期供稿作者:夏琰,周晓红,王东[导读] 本文作者从实际应用出发,对现存数据挖掘决策树分类方法进行了研究,并应用到系统当中,实现了决策支持模块。 夏琰,周晓红,王东 (长春职业技术学院,长春 130033)摘要:本文作者从实际应用出发,对现存数据挖掘决策树分类方法进行了研究,并应用到系统当中,实现了决策支持模块。关键词:数掘挖掘;决策树算法;改进;实现 中图分类号:TP301.6 文献标识码:A 文章编号:1007-9599 (2010) 04-0000-02 Data Mining Decision Tree Improvement&Implementation Xia Yan,Zhou Xiaohong,Wang Dong (Changchun Technology College,Changchun 130033,China)Abstract:The author studied on existing Data Mining decision tree classification method based on the practical application,and applied to the system,achieved a decision support module. Keywords:Data Mining;Decision tree algorithm;Improve;Achieve 随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将会产生重要的作用。 因此,数据挖掘涉及的学科领域逐渐扩大,数据挖掘的方法也在不断地改进和提高。分类在数据挖掘中是一项非常重要的任务,分类算法可以分为决策树分类算法、遗传算法、神经网络方法、K-最近邻分类算法等。这里,以疾病防控与儿童免疫管理系统中决策支持子系统的开发过程为例,对决策树分类算法的改进及在实际中的应用进行阐述。 一、数据选取和数据预处理 在本系统中,以预防接种中遇到异常反应后记录的“异常反应调查表”中的数据为例进行说明。具体实现过程详细说明:首先输入训练集,由于在真实的SQL Server数据库当中,为了降低存储要求和减少存储时间,并非真正存储每个数据项的属性值,而是用存储数字来对应相应的意义,如在数据库的数据表中,“性别”字段中“1”代表“男”、“2”代表“女”,反应到程序页面时再映射回原来的值,为了说理清晰又限于篇幅,这里只将所有数据集中有代表性的十几组数据作为分类模型创建的输入训练集。 表1 判断是否需要计划外加强免疫的属性表 儿童编号月龄出生状态常住地上次注射后反 应是否需要计划外加强免疫 0405102<=2正常产城市无不良反应否 0405495<=2正常产农村无不良反应否 0401342>5正常产城市无不良反应是 04054352…5正常产城市轻度反应是 04065342…5非正常产城市重度反应是 04072342…5非正常产农村重度反应否 0401544>5非正常产农村重度反应是 0408519<=2正常产城市轻度反应否 0404566<=2非正常产城市重度反应是 04035472…5非正常产城市轻度反应是 0401534<=2非正常产农村轻度反应是 0405856>5正常产农村轻度反应是 0409533>5非正常产城市无不良反应是 04053442…5正常产农村轻度反应否 二、生成决策树 对训练集的每一个属性,计算其信息增益。以“月龄”属性为例,每个结点中的正反例的个数分别为[2,3]、[3,2]、[4,0],分别计算如下: info[2,3]=; info[3,2]=;info[4,0]=0; 计算信息熵:E(月龄)==0.693; 计算该属性的信息增益量,选取信息增益最大的属性为节点,按该属性的值划分数据集合:Gain(月龄)=Info(9,5)-E(月龄)=0.940-0.693=0.247; =0.971 =0.971

决策树算法介绍

3.1分类与决策树概述 3.1.1分类与预测 分类是一种应用非常广泛的数据挖掘技术,应用的例子也很多。例如,根据信用卡支付历史记录,来判断具备哪些特征的用户往往具有良好的信用;根据某种病 症的诊断记录,来分析哪些药物组合可以带来良好的治疗效果。这些过程的一个共同特点是:根据数据的某些属性,来估计一个特定属性的值。例如在信用分析案例中,根据用户的“年龄”、“性别”、“收入水平”、“职业”等属性的值,来估计该用户“信用度”属性的值应该取“好”还是“差”,在这个例子中,所研究的属性“信用度”是E—个离散属性,它的取值是一个类别值,这种问题在数 据挖掘中被称为分类。 还有一种问题,例如根据股市交易的历史数据估计下一个交易日的大盘指数,这 里所研究的属性“大盘指数”是一个连续属性,它的取值是一个实数。那么这种 问题在数据挖掘中被称为预测。 总之,当估计的属性值是离散值时,这就是分类;当估计的属性值是连续值时,这就是预测。 3.1.2决策树的基本原理 1. 构建决策树 通过一个实际的例子,来了解一些与决策树有关的基本概念。 表3-1是一个数据库表,记载着某银行的客户信用记录,属性包括“姓名”、“年龄”、“职业”、“月薪”、......、“信用等级”,每一行是一个客户样本,每一列是一个属性(字段)。这里把这个表记做数据集D。 银行需要解决的问题是,根据数据集D,建立一个信用等级分析模型,并根据这个模型,产生一系列规则。当银行在未来的某个时刻收到某个客户的贷款申请时,依据这些规则,可以根据该客户的年龄、职业、月薪等属性,来预测其信用等级,以确定是否提供贷款给该用户。这里的信用等级分析模型,就可以是一棵决策树。在这个案例中,研究的重点是“信用等级”这个属性。给定一个信用等级未知的客户,要根据他/她的其他属性来估计“信用等级”的值是“优”、“良”还是 “差”,也就是说,要把这客户划分到信用等级为“优”、“良”、“差”这3 个类别的某一类别中去。这里把“信用等级”这个属性称为“类标号属性”。数据集D中“信用等级”属性的全部取值就构成了类别集合:Class={ “优”,

C45算法生成决策树的研究

精心整理 C4.5算法生成决策树 1、基础知识 当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均SEE5、SLIQ 算法的的标准,克服了ID3算法中信息增益选择属性时偏向选择取值多的属性的不足,并能够完成对连续属性离散化的处理,还能够对不完整数据进行处理。根据分割方法的不同,目前决策的算法可以分为两类:基于信息论(InformationTheory )的方法和最小GINI 指标(LowestGINIindex )方法。对应前者的算法有ID3、C4.5,后者的有CART 、SLIQ 和SPRINT 。

C4.5算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。 2、算法 以下图数据为例,介绍用C4.5建立决策树的算法。 表1 ID3算法最初假定属性都是离散值,但在实际应用中,很多属性值都是连续的。C4.5对ID3不能处理连续型属性的缺点进行了改进。如果存在连续型的描述性属性,首先将连续型属性的值分成不同的区间,即“离散化”。

对上表中将实际耗电量分为10个区间(0—9) (300~320,320~340,340~360,360~380,380~400,400~420,420~440,440~460,460~480,480~500)因为最终是要得到实际的耗电量区间,因此“实际耗电量”属于“类别属性”。“室外温度”、“室内温度”、“室外湿度”、“风力大小”、“机房楼层”、“机房朝向”、“机房开启设备总额定功率”属于“非类别属性”。 表2 通过表 知,实 际耗电的个数表3

利用决策树方法对数据进行分类挖掘毕业设计论文

目录 摘要 (3) Abstract (iii) 第一章绪论 (1) 1.1 数据挖掘技术 (1) 1.1.1 数据挖掘技术的应用背景 (1) 1.1.2数据挖掘的定义及系统结构 (2) 1.1.3 数据挖掘的方法 (4) 1.1.4 数据挖掘系统的发展 (5) 1.1.5 数据挖掘的应用与面临的挑战 (6) 1.2 决策树分类算法及其研究现状 (8) 1.3数据挖掘分类算法的研究意义 (10) 1.4本文的主要内容 (11) 第二章决策树分类算法相关知识 (12) 2.1决策树方法介绍 (12) 2.1.1决策树的结构 (12) 2.1.2决策树的基本原理 (13) 2.1.3决策树的剪枝 (15) 2.1.4决策树的特性 (16) 2.1.5决策树的适用问题 (18) 2.2 ID3分类算法基本原理 (18) 2.3其它常见决策树算法 (20) 2.4决策树算法总结比较 (24) 2.5实现平台简介 (25) 2.6本章小结 (29) 第三章 ID3算法的具体分析 (30) 3.1 ID3算法分析 (30) 3.1.1 ID3算法流程 (30) 3.1.2 ID3算法评价 (33) 3.2决策树模型的建立 (34) 3.2.1 决策树的生成 (34) 3.2.2 分类规则的提取 (377) 3.2.3模型准确性评估 (388) 3.3 本章小结 (39)

第四章实验结果分析 (40) 4.1 实验结果分析 (40) 4.1.1生成的决策树 (40) 4.1.2 分类规则的提取 (40) 4.2 本章小结 (41) 第五章总结与展望 (42) 参考文献 (44) 致谢 (45) 附录 (46)

数据挖掘——决策树分类算法 (1)

决策树分类算法 学号:20120311139 学生所在学院:软件工程学院学生姓名:葛强强 任课教师:汤亮 教师所在学院:软件工程学院2015年11月

12软件1班 决策树分类算法 葛强强 12软件1班 摘要:决策树方法是数据挖掘中一种重要的分类方法,决策树是一个类似流程图的树型结构,其中树的每个内部结点代表对一个属性的测试,其分支代表测试的结果,而树的每个 叶结点代表一个类别。通过决策树模型对一条记录进行分类,就是通过按照模型中属 性测试结果从根到叶找到一条路径,最后叶节点的属性值就是该记录的分类结果。 关键词:数据挖掘,分类,决策树 近年来,随着数据库和数据仓库技术的广泛应用以及计算机技术的快速发展,人们利用信息技术搜集数据的能力大幅度提高,大量数据库被用于商业管理、政府办公、科学研究和工程开发等。面对海量的存储数据,如何从中有效地发现有价值的信息或知识,是一项非常艰巨的任务。数据挖掘就是为了应对这种要求而产生并迅速发展起来的。数据挖掘就是从大型数据库的数据中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用的信息,提取的知识表示为概念、规则、规律、模式等形式。 分类在数据挖掘中是一项非常重要的任务。 分类的目的是学会一个分类函数或分类模型,把数据库中的数据项映射到给定类别中的某个类别。分类可用于预测,预测的目的是从历史数据记录中自动推导出对给定数据的趋势描述,从而能对未来数据进行预测。分类算法最知名的是决策树方法,决策树是用于分类的一种树结构。 1决策树介绍 决策树(decisiontree)技术是用于分类和预测 的主要技术,决策树学习是一种典型的以实例为基础的归纳学习算法,它着眼于从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。它采用自顶向下的递归方式,在决策树的内部节点进行属性的比较,并根据不同属性判断从该节点向下的分支,在决策树的叶节点得到结论。所以从根到叶节点就对应着一条合取规则,整棵树就对应着一组析取表达式规则。 把决策树当成一个布尔函数。函数的输入为物体或情况的一切属性(property),输出为”是”或“否”的决策值。在决策树中,每个树枝节点对应着一个有关某项属性的测试,每个树叶节点对应着一个布尔函数值,树中的每个分支,代表测试属性其中一个可能的值。 最为典型的决策树学习系统是ID3,它起源于概念学习系统CLS,最后又演化为能处理连续属性的C4.5(C5.0)等。它是一种指导的学习方法,该方法先根据训练子集形成决策树。如果该树不能对所有给出的训练子集正确分类,那么选择一些其它的训练子集加入到原来的子集中,重复该过程一直到时形成正确的决策集。当经过一批训练实例集的训练产生一棵决策树,决策树可以根据属性的取值对一个未知实例集进行分类。使用决策树对实例进行分类的时候,由树根开始对该对象的属性逐渐测试其值,并且顺着分支向下走,直至到达某个叶结点,此叶结点代表的类即为该对象所处的类。 决策树是应用非常广泛的分类方法,目前有多种决策树方法,如ID3,C4.5,PUBLIC,

决策树分类算法的时间和性能测试(DOC)

决策树分类算法的时间和性能测试 姓名:ls 学号:

目录 一、项目要求 (3) 二、基本思想 (3) 三、样本处理 (4) 四、实验及其分析 (9) 1.总时间 (9) 2.分类准确性. (12) 五、结论及不足 (13) 附录 (14)

一、项目要求 (1)设计并实现决策树分类算法(可参考网上很多版本的决策树算法及代码, 但算法的基本思想应为以上所给内容)。 (2)使用UCI 的基准测试数据集,测试所实现的决策树分类算法。评价指标 包括:总时间、分类准确性等。 (3) 使用UCI Iris Data Set 进行测试。 二、基本思想 决策树是一个类似于流程图的树结构,其中每个内部节点表示在一个属性变量上的测试,每个分支代表一个测试输出,而每个叶子节点代表类或分布,树的最顶层节点是根节点。 当需要预测一个未知样本的分类值时,基于决策树,沿着该树模型向下追溯,在树的每个节点将该样本的变量值和该节点变量的阈值进行比较,然后选取合适的分支,从而完成分类。决策树能够很容易地转换成分类规则,成为业务规则归纳系统的基础。 决策树算法是非常常用的分类算法,是逼近离散目标函数的方法,学习得到的函数以决策树的形式表示。其基本思路是不断选取产生信息增益最大的属性来划分样例集和,构造决策树。信息增益定义为结点与其子结点的信息熵之差。信息熵是香农提出的,用于描述信息不纯度(不稳定性),其计算公式是 Pi为子集合中不同性(而二元分类即正样例和负样例)的样例的比例。这样信息收益可以定义为样本按照某属性划分时造成熵减少的期望,可以区分训练样本中正负样本的能力,其计算公式是

决策树算法的原理与应用

决策树算法的原理与应用 摘要:在机器学习与大数据飞速发展的21世纪,各种不同的算法成为了推动发 展的基石.而作为十大经典算法之一的决策树算法是机器学习中十分重要的一种算法。本文对决策树算法的原理,发展历程以及在现实生活中的基本应用进行介绍,并突出说明了决策树算法所涉及的几种核心技术和几种具有代表性的算法模式。 关键词:机器学习算法决策树 1.决策树算法介绍 1.1算法原理简介 决策树模型是一种用于对数据集进行分类的树形结构。决策树类似于数据结 构中的树型结构,主要是有节点和连接节点的边两种结构组成。节点又分为内部 节点和叶节点。内部节点表示一个特征或属性, 叶节点表示一个类. 决策树(Decision Tree),又称为判定树, 是一种以树结构(包括二叉树和多叉树)形式表达的 预测分析模型,决策树算法被评为十大经典机器学习算法之一[1]。 1.2 发展历程 决策树方法产生于上世纪中旬,到了1975年由J Ross Quinlan提出了ID3算法,作为第一种分类算法模型,在很多数据集上有不错的表现。随着ID3算法的 不断发展,1993年J Ross Quinlan提出C4.5算法,算法对于缺失值补充、树型结 构剪枝等方面作了较大改进,使得算法能够更好的处理分类和回归问题。决策树 算法的发展同时也离不开信息论研究的深入,香农提出的信息熵概念,为ID3算 法的核心,信息增益奠定了基础。1984年,Breiman提出了分类回归树算法,使 用Gini系数代替了信息熵,并且利用数据来对树模型不断进行优化[2]。 2.决策树算法的核心 2.1数据增益 香农在信息论方面的研究,提出了以信息熵来表示事情的不确定性。在数据 均匀分布的情况下,熵越大代表事物的越不确定。在ID3算法中,使用信息熵作 为判断依据,在建树的过程中,选定某个特征对数据集进行分类后,数据集分类 前后信息熵的变化就叫作信息增益,如果使用多个特征对数据集分别进行分类时,信息增益可以衡量特征是否有利于算法对数据集进行分类,从而选择最优的分类 方式建树。 如果一个随机变量X的可以取值为Xi(i=1…n),那么对于变量X来说,它 的熵就是 在得到基尼指数增益之后,选择基尼指数增益最大的特征来作为当前步骤的 分类依据,在之后的分类中重复迭代使用这一方法来实现模型的构造。 3. 决策树算法的优缺点 3.1决策树算法的优点[3] (1)计算速度快,算法简单,分类依据清晰 (2)在处理数据时,有很高的准确度,同时分类结果清晰,步骤明朗。 (3)可以处理连续和种类字段 (4)适合高维数据 3.2决策树算法的缺点 (1)决策树算法可以帮助使用者创建复杂的树,但是在训练的过程中,如

数据挖掘——决策树分类算法 (2)

贝叶斯分类算法 学号:20120311108 学生所在学院:软件工程学院学生姓名:朱建梁 任课教师:汤亮 教师所在学院:软件工程学院 2015年11月

12软件1班 贝叶斯分类算法 朱建梁 12软件1班 摘要:贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正 式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论 贝叶斯分类中最简单的一种:朴素贝叶斯分类。 关键词:朴素贝叶斯;文本分类 1 贝叶斯分类的基础——贝叶斯定理 每次提到贝叶斯定理,我心中的崇敬之情都油然而生,倒不是因为这个定理多高深,而是因为它特别有用。这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率: P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:P(A|B)=P(AB)/P(B)。 贝叶斯定理之所以有用,是因为我们在生活中经常遇到这种情况:我们可以很容易直接得出P(A|B),P(B|A)则很难直接得出,但我们更关心P(B|A),贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。 下面不加证明地直接给出贝叶斯定理:P(B|A)=P(A|B)P(B)/P(A) 2 朴素贝叶斯分类的原理与流程 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。 朴素贝叶斯分类的正式定义如下: 1、X={a1,a2,....am}设为一个待分类项,而每个a为x的一个特征属性。 2、有类别集合c={y1,y2,...,yn} 3、计算p(y1|x),p(y2|x),...,p(yn|x)。 4、如果p(yk|x)=max{p(y1|x),p(y2|x),...,p(yn|x)}, 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做: 1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2、统计得到在各类别下各个特征属性的条件概率估计。即p(a1|y1),p(a2|y1),...,p(am|y1);p(a1|y2),p(a2|y2),...,p(am|y2);p(a1|yn),p(a2 |yn),...,p(am|yn);。

决策树算法总结

决策树研发二部

目录 1. 算法介绍 (1) 1.1.分支节点选取 (1) 1.2.构建树 (3) 1.3.剪枝 (10) 2. sk-learn中的使用 (12) 3. sk-learn中源码分析 (13)

1.算法介绍 决策树算法是机器学习中的经典算法之一,既可以作为分类算法,也可以作为回归算法。决策树算法又被发展出很多不同的版本,按照时间上分,目前主要包括,ID3、C4.5和CART版本算法。其中ID3版本的决策树算法是最早出现的,可以用来做分类算法。C4.5是针对ID3的不足出现的优化版本,也用来做分类。CART也是针对ID3优化出现的,既可以做分类,可以做回归。 决策树算法的本质其实很类似我们的if-elseif-else语句,通过条件作为分支依据,最终的数学模型就是一颗树。不过在决策树算法中我们需要重点考虑选取分支条件的理由,以及谁先判断谁后判断,包括最后对过拟合的处理,也就是剪枝。这是我们之前写if语句时不会考虑的问题。 决策树算法主要分为以下3个步骤: 1.分支节点选取 2.构建树 3.剪枝 1.1.分支节点选取 分支节点选取,也就是寻找分支节点的最优解。既然要寻找最优,那么必须要有一个衡量标准,也就是需要量化这个优劣性。常用的衡量指标有熵和基尼系数。 熵:熵用来表示信息的混乱程度,值越大表示越混乱,包含的信息量也就越多。比如,A班有10个男生1个女生,B班有5个男生5个女生,那么B班的熵值就比A班大,也就是B班信息越混乱。 基尼系数:同上,也可以作为信息混乱程度的衡量指标。

有了量化指标后,就可以衡量使用某个分支条件前后,信息混乱程度的收敛效果了。使用分支前的混乱程度,减去分支后的混乱程度,结果越大,表示效果越好。 #计算熵值 def entropy(dataSet): tNum = len(dataSet) print(tNum) #用来保存标签对应的个数的,比如,男:6,女:5 labels = {} for node in dataSet: curL = node[-1] #获取标签 if curL not in labels.keys(): labels[curL] = 0 #如果没有记录过该种标签,就记录并初始化为0 labels[curL] += 1 #将标签记录个数加1 #此时labels中保存了所有标签和对应的个数 res = 0 #计算公式为-p*logp,p为标签出现概率 for node in labels: p = float(labels[node]) / tNum res -= p * log(p, 2) return res #计算基尼系数 def gini(dataSet): tNum = len(dataSet) print(tNum) # 用来保存标签对应的个数的,比如,男:6,女:5 labels = {} for node in dataSet: curL = node[-1] # 获取标签 if curL not in labels.keys(): labels[curL] = 0 # 如果没有记录过该种标签,就记录并初始化为0 labels[curL] += 1 # 将标签记录个数加1 # 此时labels中保存了所有标签和对应的个数 res = 1 # 计算公式为-p*logp,p为标签出现概率

决策树分类-8页文档资料

基于专家知识的决策树分类 概述 基于知识的决策树分类是基于遥感影像数据及其他空间数据,通过专家经验总结、简单的数学统计和归纳方法等,获得分类规则并进行遥感分类。分类规则易于理解,分类过程也符合人的认知过程,最大的特点是利用的多源数据。 如图1所示,影像+DEM就能区分缓坡和陡坡的植被信息,如果添加其他数据,如区域图、道路图土地利用图等,就能进一步划分出那些是自然生长的植被,那些是公园植被。 图1.JPG 图1 专家知识决策树分类器说明图 专家知识决策树分类的步骤大体上可分为四步:知识(规则)定义、规则输入、决策树运行和分类后处理。 1.知识(规则)定义 规则的定义是讲知识用数学语言表达的过程,可以通过一些算法获取,也可以通过经验总结获得。 2.规则输入

将分类规则录入分类器中,不同的平台有着不同规则录入界面。 3.决策树运行 运行分类器或者是算法程序。 4.分类后处理 这步骤与监督/非监督分类的分类后处理类似。 知识(规则)定义 分类规则获取的途径比较灵活,如从经验中获得,坡度小于20度,就认为是缓坡,等等。也可以从样本中利用算法来获取,这里要讲述的就是C4.5算法。 利用C4.5算法获取规则可分为以下几个步骤: (1)多元文件的的构建:遥感数据经过几何校正、辐射校正处理后,进行波段运算,得到一些植被指数,连同影像一起输入空间数据库;其他空间数据经过矢量化、格式转换、地理配准,组成一个或多个多波段文件。 (2)提取样本,构建样本库:在遥感图像处理软件或者GIS软件支持下,选取合适的图层,采用计算机自动选点、人工解译影像选点等方法采集样本。 (3)分类规则挖掘与评价:在样本库的基础上采用适当的数据挖掘方法挖掘分类规则,后基于评价样本集对分类规则进行评价,并对分类规则做出适当的调整和筛选。这里就是C4.5算法。 4.5算法的基本思路基于信息熵来“修枝剪叶”,基本思路如下: 从树的根节点处的所有训练样本D0开始,离散化连续条件属性。计算增益比率,取GainRatio(C0)的最大值作为划分点V0,将样本分为两个部分D11和D12。对属性C0的每一个值产生一个分支,分支属性值的相应样本子集被移到新生成的子节点上,如果得到的样本都属于同一个类,那么直接得到叶子结点。相应地将此方法应用于每个子节点上,直到节点的所有样本都分区到某个类中。到达决策树的叶节点的每条路径表示一条分类规则,利用叶列表及指向父结点的指针就可以生成规则表。

分类论文决策树相关算法论文:决策树相关算法研究

分类论文决策树相关算法论文:决策树相关算法研究 摘要:id3算法和c4.5算法是经典的决策树算法,通过对id3算法和c4.5算法的数据结构、算法描述和分裂属性选取等方面进行比较,为其他研究者提供参考。 关键词:分类;id3;c4.5 an association explore based on decision tree algorithm wang hui, hou chuan-yu (school of information engineering, suzhou university, suzhou 234000, china) abstract: id3 algorithm and c4.5algorithm is classic decision tree algorithm in data mining. the article has some comparisons about c4.5 algorithm and id3 algorithm ,for example, data structure of decision tree, the process of algorithm of c4.5 and id3, and the choice of division attribute and so on, in order to provide this for others. key words: categories; id3; c4.5 随着计算机的普及和网络的高速发展,人们获得信息的途径越来越多,同时获取信息的量呈几何级数的方式增长。如何从海量信息获得有用知识用于决策,成为大家关注的问

相关文档
最新文档