基于决策树的鸢尾花分类

  • 格式:pdf
  • 大小:1.21 MB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科技论坛

0 引言

图像识别技术,要运用目前流行的机器学习算法,而目前流行的机器学习算法就有十几种,比如支持向量机、神经网络、决策树。机器学习是人工智能发展的重要一部分,它涉及的学科很多,应用也相当广泛,它通过分析、研究、设计让计算机学习知识,从而提高完善自身的性能。但是神经网络学习的速度较慢,传统的支持向量机则不能解决分类多的问题。

本文针对鸢尾花的特征类别少以及种类少的特点,采用决策树算法对课题进行展开,对比与其他人利用支持向量机、神经元网络模型来进行研究,该系统具有模型简单、便于理解、计算方便、消耗资源少的优点。

1 决策树模型和学习

本文采用决策树算法对鸢尾花进行分类,先建立决策树的模型并进行学习训练,在决策树的训练过程中采用是信息论的知识进行特征选择,对选定的特征采用分支的处理,然后再对分支过后的数据集如此反复的递归生成决策树,在一颗决策树生成完后对决策树进行剪枝,以减小决策树的拟合度,来达到一个对鸢尾花较高的分类准确率。

要对鸢尾花进行分类首先需要大量的鸢尾花数据集作为本文的实验数据,本文采用的数据集是来自加州大学欧文分校UCI数据库中的鸢尾花数据集。该数据集中鸢尾花的属性有四个,分别是花萼长度、花萼宽度、花瓣长度和花瓣宽度,鸢尾花的类别则有三种,分别是Iris Setosa,Iris Versicolour,Iris Virginica,用简写Se、Ve和Vi表示这三种花,具体数据如图1所示。

■1.1 信息论

美贝尔电话研究所的数学家香农是信息论的创始人,1948年香农发表了《通讯的数学理论》,成为信息论诞生的标志。信息论的诞生对信息技术革命以及科学技术的发展起到重要作用。信息论中有两个概念信息增益及信息增益率,都是用于衡量原始数据集在按照某一属性特征分裂之后整体信息量的变化值。这样,本文就可以通过这种指标寻找出最优的划分属性,数据集在经过划分之后,节点的“纯度”越来越高,这里的纯度值得是花朵的类别,当某一节点中花朵全为一类时,该节点已经达到最纯状态,无需再进行划分,

反之继续划分。

图1 鸢尾花数据集

1.1.1 信息熵

信息熵用于描述信源的不确定性。即发生每个事件都有不确定性,为了使不确定性降低,我们需要引入一些相关的信息进行学习,引入信息越多,那么得到的准确率越高,信息熵越高,信源越不稳定。例如一束鸢尾花,它可能是Se,可能是Vi,也有可能是Ve,我们利用数据库中的各种鸢尾花的花瓣长度、花瓣宽度、花萼长度和花萼宽度来预测鸢尾花的类别,引入的鸢尾花种类越多,信息熵就越高。

样本集合D的信息熵Ent(D)以下面的公式进行计算,其中集合里第k类样本所占的比例是k p,k的取值范围是从1到y,y值得是总共有y类样本,通过式(1)可以计算得到原始样本集的信息熵。

()21

Ent D

y

k k

k

p log p

=

=−∑(1) 1.1.2 信息增益

信息增益即在一个条件下,信源不确定性减少的程度。信息增益用于度量节点的纯度。信息增益对可取值数目较多的属性有所偏好。在鸢尾花数据集的D集合中,属性a取到某一取值情况的概率乘该取值情况的信息熵得到的值记为v D,其中V指的是该属性a可以取值的个数,则属性a 的信息增益为:

()()()

1

Gain D,a Ent D V v v

v

D Ent D

D

=

=−∑(2)

基于决策树的鸢尾花分类

徐彧铧

(浙江省衢州第二中学,浙江衢州,324000)

摘要:针对传统手工分类的不足,满足不了人们对图片分类的需求,本文利用机器学习算法中的决策树算法进行研究。通过模型简单、便于理解、计算方便、消耗资源少的决策树算法模型,并利用现成的数据库,运用图像识别技术对鸢尾花进行分类,以求方便简单快速地识别出不同类别的鸢尾花。在此过程中,学习到图像识别的一些基本分类操作,为我们实现更复杂的模型提供了帮助。

关键词:决策树信息论特征选择;C4.5算法;CART算法

www ele169 com | 99

100 | 电子制作 2018年10

()()

(),Gain _ratio D,a Gain D a IV a =

(3)

其中 ()2

1

IV a V

v

v

v D D

log D D ==−∑。通过信息增益率的计算同样可以得到原始的鸢尾花数

据集中按照某一属性进行划分之后的信息增益率,选择产生最大值的属性作为分裂的标准。同样地,分裂后的子集中也是采用相同的递归方式形成新的子集,直到所有末端分支的子集里所有的样本都为同一类型的花朵为止。 ■1.2 决策树生成算法

1.2.1 ID3算法与C4.5算法

决策树生成常用的基本算法是ID3算法和C4.5算法。

ID3算法是一种采用信息增益的方法构造决策树,这种

算法该算法开始时,所有的数据都在根节点上,属性都是离散的,停止分割的条件是一个节点上的数据都是属于同一个类别或者没有属性可以再对属性进行分割了。

C4.5算法是应用信息增益率进行的,克服了用信息增

益选择属性时偏向选择取值多的属性的不足。C4.5算法能够完成对连续属性的离散化处理,由于在本文所研究的对象中,对于萼片长度、萼片宽度、花瓣长度、花瓣宽度这些数

据实际是上都是一些连续的小数值,因此如果不采用离散化的操作,这样直接进行处理就会导致属性的取值数量太多的情况,极易造成过拟合的现象。若不是离散的就将它离散化,离散化采用的是一种设置区间的形式对数据离散化。利用分裂信息计算,得到值越大,表示按照该属性值进行划分越优,根据计算出的值再对数据分区间。

数据的离散化是一个比较复杂的过程,一般都是设置一个阈值将其分成两部分。首先对属性的取值进行升序排序,得到排序结果之后,任意两个属性取值之间都有可能的作为分裂点,计算每个可能的分裂点的分裂信息,即式(3)中 2GINI 1i i I

p ∈=−∑

(4)

()()11Gini D,A D Gini D D =

+()22D

Gini D D

(5)

在鸢尾花数据集D 中,根据一类属性分为两类,分别

是D1,D2。在D 数据集中,A 属性的基尼值则为D1发生的概率乘D1的基尼值加D2发生的概率乘D2的基尼值,

式5就表示了数据集D 按照某一属性值A 进行二分类之后的结果。

但是实际中,鸢尾花的所有属性值都不是只有两种值得

取值情况,因此,需要对属性设置一个阈值,使其变成两类值,具体的阈值选取方法完全等同于C4.5中对连续属性值的处理方法。 ■1.3 决策树的剪枝

决策树的剪枝分为预剪枝和后剪枝。剪枝的目的在于解

决数据噪音、训练数据量少、过拟合等问题,使决策树更高效。预剪枝就是在构造决策树的过程中,先对每个叶子节点

统计里面每个样本类别的个数,选取该叶子节点中样本类别个数最多的类别作为该叶子节点的类别。然后在节点划分前进行估计,先计算目前模型A 对新样本预测的准确率,若当前结点划分得到一个较为复杂的模型B 之后,模型B 对相同的新样本预测的准确率并没有提升,则不对当前结点进行划分并且将当前结点标记为叶结点,表示该节点纯度较高,不需要再进行划分,达到了预剪枝的效果,简化模型。后剪枝是在决策树生成后进行的,自底向上对非叶子节点进行考察,如果原始模型是A,并计算目前模型对新样本预测的准确率。在将这个非叶子结点的子节点去掉之后,即将该非叶子去掉之后得到的一个简单的模型B,再计算模型B 对相同的新样本预测的准确率,发现准确率提升了,就直接把该非叶子结点的子树都删掉,这样就达到了后剪枝的效

果,简化模型提高正确率。

(下转第84页)