基于C4.5决策树算法的棉花病害诊断方法

  • 格式:pdf
  • 大小:485.43 KB
  • 文档页数:2

14
基于C4.5决策树算法的棉花病害诊断方法
王兴国,李梦雪
(华北水利水电大学,河南郑州450045)
摘要:C4.5算法作为决策树算法家族中的重要成员,是对ID3算法的继承与拓展。

C4.5算法不仅能处理名词属性而且
能处理连续属性,极大提高类C4.5算法的学习能力。

文章将C4.5算法应用到棉花诊断中,通过对棉花病害数据学习成树,得到可理解的诊断规则。

关键词:决策树;C4.5;棉花病害;诊断方法中图分类号:S435.62;TN929.53文献标识码:A 文章编号:1673-1131(2016)09-0014-02
0引言
随着科学的进步,社会进入了大数据时代。

为了分析和处理这些海量的数据,数据挖掘技术随之产生。

在诸多领域中,数据挖掘技术得到了广泛应用。

其中在农业方面,任舟桥等[1]
运用C4.5算法,以琼海市的3个乡镇为例,构建土地适宜性评价决策树并进行了分析,结果表明该方法具有较高的准确率。

司巧梅[2]以牡丹江地区部分县区风雹灾害的数据为样本,采用决策树C4.5算法,建立了农业气象灾害等级决策树预测模。

最终经检验,该评估可达到90%以上的灾害分类评估正确率。

金海月等[3]运用ID3的改进算法IBLE ,以黄瓜、玉米叶部常见病害作为研究对象,试验结果显示该算法正确进行病例识别,正确率达92%以上。

刘璇等[4]将ID3和C4.5算法运用到优化农业气象灾害统计的实验中,研究了决策树算法在气象灾害导致的直接经济损失评估中的应用,并验证了该评估可以达到90%以上的灾害分类评估正确率。

司巧梅、宋丽[5]
在耕地地力等级评价中,以有机质、全氮、速效磷、速效钾为属性,地力等级为标识类,采用ID3算法,以牡丹江地区耕地为研究对象,建立模型对耕地的质量等级进行预测。

麦吉尔大学麦克唐纳分校的农学研究中心利用CART 方法对高光谱遥感数据分析,对试验区玉米是否使用除草剂,氮肥施用量进行高效鉴别[6]。

棉花是我国重要的农作物,关乎着国家的经济。

棉花病害是影响棉花产量的重要因素之一,及时对棉花病害的有效诊断有助于提高棉花的产量。

基于对以上文献的研究,本文提出一种基于C4.5决策树算法的棉花病害诊断方法,以期提升棉花诊断水平。

1C4.5概括
在数据挖掘方法中,决策树算法的应用十分广泛,涉及医学、遥感、农业等方面。

决策树算法的主要功能是分类与预测,即通过决策树算法对已有的数据进行训练生成决策树,然后使用新生成的决策树作为分类器对未知类别的数据进行预测。

在数据挖掘模式中,分类是把数据项映射到一个定义类的过程,由相应的类和输入的属性值向量构成。

分类器是一个在其他属性已知的样本下预测另一个属性的模型。

最早的决策树算法是来自Hunt 的概念学习系统(CLS )[7]。

该系统试图构建一个最小分类花费的决策树。

ID3算法发展自CLS ,由J.R.QUINLAN 于1986年提出。

C4.5算法是在ID3算法之上的又一次扩展,克服了ID3无法处理连续属性和多类的问题,而且能够处理空缺值。

C4.5使用信息增益率作为属性选择度量。

信息增益率计算如下:假设S 为样本数据集,其中的样本的个数为s 。

设类标号属性C 有m 个不同的属性值。

定义C i 为C 的不同属性值(i=1,...,m ),对于类C i 的个数用S i 表示。

则类标号的信息
熵为:
(1)
其中
表示数据集中任意样本属于类C i 的概率。

假设属性A 有v 个不同属性值。

数据集S 可以根据属性A 划分为v 个子集{S 1,S 2,…,S v }。

设s ij 表示子集S j 中类C i 的个数。

则属性A
的信息熵为:
(2)
其中
(3)
其中,。

属性A
的信息增益为:
(4)
属性A
的信息增益率为:
(5)
式中
(6)
其中|S j |是子集S j 的数据个数。

C4.5算法通过比较各属性的信息增益率的大小,选择信息增益率最大的属性作为当前节点的测试属性。

根据测试属性的属性值将当前节点的数据集分成若干子集,计算子集中各属性的信息增益率,选取最大信息增益率的属性作为该子节点的测试属性。

以此类推,直至数据集耗尽。

为减少过度拟合的影响,对形成的决策树进行剪枝处理,最终的决策树作为分类模型。

2实验及分析
2.1数据来源
本文数据来自对文献[8-9]的收集和整理,实验对象是棉花立枯病、炭疽病、疫病、角斑病。

选择发育时期、病斑位置、病斑形状、病斑颜色、病斑性状、病害分类6个指标作为数据属性。

部分原始数据见表1。

从表1中可以看到数据是完整的并且数据属性是名词性的属性。

2016
(Sum.No165)
信息通信
INFORMATION &COMMUNICATIONS
2016年第9期(总第165期)
15
表1
棉花病害原始数据表
2.2生成决策树
本文是在weka 3.6.13版本的数据挖掘软件下运行C4.5决策树算法。

由于该版本不能处理中文,因此需要将中文替换成英文字母。

部分数据见表2。

表2
棉花病害调整表
将收集的数据集分成训练集和测试集两部分。

通过对训
练集的训练得到决策树分类模型,见图1。

图1生成的决策树
2.3分析
对于决策树而言,从树的顶部到树的底部的每一条路径对应一条分类规则。

由图1的部分规则如下:
if (quality=wu )and (xingzhuang=buguize )then leibie=yi if (quality=wu )and (xingzhuang=yuanxing )then leibie=tanju if (quality=shuizi )and (yanse=hei )then leibie=jaioban
if (quality=aoxian )and (xingzhuang=buguize )and (weizhi=
yezi )then leibie=liku
...
本文使用10折交叉验证的方式对生成的模型评估。

评估结果如图2

图2模型评估结果
从图中可知只有不到5%的实例在交叉验证中被错误的分类。

这表明,与来自同样数据源的独立测试集所得到的可能结果相比,该模型是比较好的。

除此之外,结果中还给出了Kappa 统计数据为0.9363,接近于1。

平均绝对误差值为0.0214,根均方差为0.1079等。

对于Kappa 统计值,越大表明分类器的分类结果与实际情况越一致。

而其他的统计量的值是越小越好。

这些统计量反应出该模型是比较好的。

使用测试集对该模型进行测试,结果归纳如表3。

表3
测试数据归纳表
3结语
数据挖掘是一种新的数据分析技术,分类与预测是数据挖掘中的重要功能之一,C4.5决策树算法作为分类算法中的一员应用十分广泛。

本文提出基于C4.5决策树算法的棉花病害诊断方法,通过对棉花病害数据的收集与整理,经C4.5决策树算法训练得到决策树,形成分类模型进而提取病害诊断规则。

实验表明经过该方法提取的规则能有效地进行病害诊断。

参考文献:
[1]任舟桥,刘耀林,焦利民.基于决策树的土地适应性评价[J ].
国土资源科技管理,2007(3):5.
[2]司巧梅.基于决策树的农业气象灾害等级预测模型[J ].安
徽农业科学,2010,38(9):4925-4927.
[3]金海月,宋凯.决策树算法在农业病害诊断中的应用[J ].当
代农机,2007(5):76-77.
[4]刘璇,唐慧强,许遐祯,项瑛.决策树算法在农业气象灾害统
计中的应用[J ].农机化研究,2009,7:200-203.
[5]司巧梅,宋丽.决策树在耕地地力等级评价中的应用[J ].安
徽农业科学,2011,39(12):7325-7329,7417.
[6]Waheed T,Bonnell R B,Prasher S O,et al.Measuring per-formance precision agriculture:CART-A decision tree ap-proach [J ].Agricultural Water Management,2006:173.[7]Quinlan JR .Introduction of decision trees [J ].Ma-chine Learning ,1986(1):84-100.
[8]杨雨时,张丽娜,么永强.基于粗糙集理论的棉花病害诊断
方法[J ].农机化研究,2013(7):66-69.
[9]/kech/zwbl/Phytopg/jsb/jsb_cot-ton.htm#0.
信息通信
王兴国等:基于C4.5决策树算法的棉花病害诊断方法。