基于决策树的蔬菜病害静态预警模型

2017-07-25 10:01纪思琪吴芳李乃祥
天津农学院学报 2017年2期
关键词:黑星剪枝决策树

纪思琪,吴芳,李乃祥

(天津农学院 计算机与信息工程学院,天津 300384)

基于决策树的蔬菜病害静态预警模型

纪思琪,吴芳通信作者,李乃祥

(天津农学院 计算机与信息工程学院,天津 300384)

设施蔬菜病害严重影响蔬菜的产量和质量,利用传统的防治措施不能很好地满足社会对食品安全和良好的生活环境的要求,而设施蔬菜病害预警则可兼顾蔬菜生产和社会要求,是一种绿色、有效的病害防治方式。本文采用决策树 C4.5算法对蔬菜病害进行预警,构建设施蔬菜病害静态预警模型。为测试模型的可行性和适用性,以黄瓜黑星病为例,对所构建的预警模型进行分析评价。结果表明:运用决策树 C4.5算法能够实现对黄瓜黑星病的预警,模型预测具有准确率较高、所需时间短等特点,可以有效地运用于实际生产之中。

设施蔬菜病害;预警;决策树;黄瓜黑星病;分析评价

目前,基于决策树预警的研究分析工作开展得如火如荼。已有学者使用决策树技术在银行风险预警方面[1]、土壤重金属污染方面[2]等取得较大的研究成果。这些研究为基于决策树技术的设施蔬菜病害静态预警提供了可行性先例。设施蔬菜病害严重影响蔬菜的产量和质量,通常的防治措施是药剂防治。这种方式虽然可以有效地防治相应的病害,但它浪费资源,增加农业生产成本,污染生态环境,农药的残留使蔬菜在安全方面也有隐患。而把预警应用于设施蔬菜病害方面,利用数据挖掘方法,探寻设施环境条件与病害的关联关系,把以诊治为主的设施蔬菜病害防控模式转变为以预防为主,降低了病害防控成本,减少了农药残留和环境污染,在农业科技和食品安全方面具有重要意义[3]。基于这一构想,以黄瓜黑星病为例,验证决策树技术在蔬菜病害预警应用上的可行性。在预警过程中,通过实时地对温度、湿度、土壤酸碱度等自然条件的测量,预测病害的发生,再根据预测结果调整当前环境,从而达到预警黄瓜病害的目的。决策树技术是目前广泛应用的分类方法之一,具有易理解、需求信息量少、效率及准确率均较高等优点。将此技术应用于蔬菜病害预警中,可以较为有效、准确地判定环境与病害的内在联系,在蔬菜病害防治、提高农业生产方面具有重要的现实意义。

1 材料准备

1.1 样本指标的选取

黄瓜为常见设施蔬菜之一,选取黄瓜作为代表,具有典型性。黄瓜常见的病害有霜霉病、白粉病、黑星病等。本文以黑星病为例,进行黄瓜病害预警测试。通过对当前温度、光照、土壤pH值等环境条件的测量,预测黄瓜病害发生的可能性,继而根据预测结果来调整当前环境。由资料可知,黄瓜黑星病由瓜疮痂枝孢菌所致, 病菌以菌丝体附着在病株残体上致其发病,在棚室内的潜育期一般3~10 d。该病菌在低温高湿等一系列复合条件下容易发生和流行。一般在 2月中下旬开始发病,到5月份以后气温高时病害依然发生[4-5]。本研究选用容易感染此种病害的黄瓜品种‘津研四号’进行试验[6]。资料显示[7]:土壤 pH 值、空气相对湿度、空气温度在黄瓜发病过程中起主要作用。致使黄瓜黑星病病害发生的条件为:土壤pH值为2.5~7.0;空气相对湿度≥90%;空气温度为15~25 ℃。

1.2 数据收集

黄瓜黑星病的发病是一个复杂的过程,是多个发病因素相互交叉、共同作用的结果。根据相关书籍查阅资料,搜集所需的数据。数据包括样例序号、发病与否(其中,1表示黄瓜不发病,即正常;2表示黄瓜发病,即异常)、温度、土壤pH、空气相对湿度等5类。部分数据如表1。共330组数据,其中290组数据作为训练集,40组数据作为测试集。然后使用决策树C4.5算法进行模型构建及测试,并对所构建模型进行可行性分析。

表1 黄瓜黑星病部分数据表

2 相关理论

2.1 决策树思想[8-9]

决策树是一个类似于流程图的树形结构,通过把样本实例从根节点排列到某个叶子节点来对其进行分类。树上的每一个非叶子节点代表对一个属性取值的测试,其分支就代表测试的每个结果。而树上的每个叶子节点均代表一个分类的类别,树的最高层节点是根节点,它采用自顶向下的方式构造判定树。从树的根节点开始,在其内部节点上进行属性值的测试比较,然后按照给定实例的属性值确定对应分支,最后在决策树的叶子节点得到结论。这个过程在以新的节点为根的子树上重复。

2.2 决策树模型构建过程

在Matlab R2012b平台上进行模型的构建。决策树C4.5算法构建决策树需要两个阶段:决策树的生成阶段和决策树的优化阶段。将决策树应用于黄瓜黑星病的预测,在实现预测的过程中首先将 330组数据导入,然后进行决策树分类器的创建工作,接着进行仿真测试,最后对测试结果进行分析。为更好地实现预测,还可进而调整相应的参数。设计步骤流程图如图1:

图1 设计步骤流程图

2.2.1 数据采集

数据存放于shuju.mat文件中,共330组数据。290组数据作为训练集,剩余40组作为测试集。将 330组数导入,程序自动分配产生训练集和测试集。

2.2.2 决策树分类器创建

首先,用函数ClassificationTree.fit()创建一个决策树分类器,如图2,具体程序如下:

ctree = ClassificationTree.fit(P_train,T_train)view(ctree,‘mode’,‘graph’)

图2 决策树分类器的创建

图2是由程序随机分配的290组训练集和40组测试集初步创建的决策树分类器。由图2可知,构建的决策树的分支比较多,相对的“枝繁叶茂”。

2.2.3 仿真测试

利用predict(ctree,P_test)函数对创建好的决策树分类器进行仿真测试。

2.2.4 结果分析

基于程序随机产生的训练集和测试集创建决策树分类器,并进行仿真测试,得到一次运行结果如下:

病例总数:330 正常:156 异常:174

训练集病例总数:290 正常:139 异常:151

测试集病例总数:40 正常:17 异常:23

正常黄瓜确诊:16 误诊:1

确诊率p1=94.117 6%

异常黄瓜确诊:23 误诊:0

确诊率p2=100.000 0%

由结果可知,在40个测试集样本中,判断错误1个(正常黄瓜被误诊为异常)。正常黄瓜、异常黄瓜确诊率分别为94.117 6%、100.000 0%,确诊率较高,表明所创建的决策树分类器可以应用于黄瓜黑星病的诊断。

2.3 决策树的优化

对于一个“枝繁叶茂”的决策树,训练集样本的正确率往往较高。然而不能保证对于独立的测试集也有近似的分类正确率。因为“枝叶繁茂”的决策树往往是过拟合的。相反对于一个结构简单(分支少,叶子节点少)的决策树,训练集样本的分类正确率并非特别高,但是可以保证测试集的分类正确率。可通过两种方法来调整决策树性能:改变叶子节点所包含的最小样本数和剪枝。

2.3.1 叶子节点所含的最小样本数对决策树性能的影响

决策树性能可用交叉验证误差作为衡量指标,叶子节点所含的最小样本数对决策树性能影响的关键程序如下:

运行结果如图3所示。每个叶子节点包含的最佳样本数在[10,20]这个范围比较合适。而交叉验证误差最小时所对应的最小样本数大概为17左右。将最小样本数(minleaf)设置为17,生成优化决策树。

图3 叶子节点含有的最小样本数对决策树性能的影响

计算优化前、后决策树的重采样误差和交叉验证误差,比较原始决策树和优化后决策树的性能,关键程序如下:

由运行结果和图4可知,优化后的决策树分类器简化很多。虽然优化后的决策树分类器重代入误差高于优化前的重代入误差(resubOpt=0.036 7>resubDefault=0.013 3),但是交叉验证误差稍小于优化前(lossOpt=0.040 0<lossDefault=0.046 7)。所以,当minleaf=17时,可以减小交叉验证误差,优化决策树性能。

图4 优化后的决策树分类器

2.3.2 剪枝对决策树性能的影响

决策树的过拟合会导致决策树的精度降低,决策树的规模增大。规模过大,对于测试数据的分类性能可能会相当差,不利于对决策树的理解,剪枝可提高决策树性能。因此决策树的剪枝是非常有必要的[10-11]。

在决策树完美分割学习样例之前,停止决策树的生长。这种提早停止决策树生长的方法,称为预剪枝方法。而本文中采用后剪枝方法。与预剪枝方法尽量避免过度分割的思想不同,一般情况下,即使决策树可能出现过度拟合现象,算法依然允许其充分生长。在决策树完全生长之后,通过特定标准去掉原决策树中的某些子树,这种方法即为后剪枝方法。剪枝后的重代入误差和交叉验证误差为:resubPrune=0.020 0,lossPrune=0.043 3。图5为剪枝后的决策树分类器。

图5 剪枝后的决策树分类器

相比图2,图5决策树分类器结构简单,清晰明了,更有利于理解决策树的构建过程。剪枝后的重代入误差稍高于优化前(resubPrune=0.020 0>resubDefault=0.013 3),但交叉验证误差稍优于优化前(lossPrune=0.043 3<lossDefault=0.046 7)。比较图4与图5,虽然图5结构较图4复杂,但其重代入误差小于图4,交叉验证误差相当。由一系列数据结果和图形可知,剪枝可实现决策树性能优化,因此对决策树的剪枝是有必要的。

2.4 决策树模型确诊率

为测试所构建模型的普遍适用性,运行20次决策树C4.5算法程序,得到20次黄瓜确诊率,如图6。由图6计算平均值可知,正常黄瓜和异常黄瓜平均确诊率都高达90%,表明将决策树C4.5算法应用于黄瓜黑星病预警有效、可靠。

图6 决策树模型确诊率

2.5 决策树模型构建时间

运行20次决策树C4.5算法程序,时间开销如图7。20次决策树模型构建平均时间在4 s左右,模型构建速度很快,在黄瓜黑星病的实际预警过程中实时性较强。

图7 决策树模型构建时间开销

3 结论

设施蔬菜病害静态预警在未来的农业科技和食品安全方面具有重要的意义。经过应用设想、构建模型、模型测试、分析总结等一系列的研究过程,证明将决策树C4.5算法应用在黄瓜黑星病预警过程中正确率高达 90%,时间开销较小,有很高的可行性。这也进一步说明数据的准确性、指标和模型建立的合理性。经推广,可将决策树模型应用于更多的设施蔬菜病害预警中。

[1] 李磊. 决策树模型在银行风险预警系统中的应用[D].北京:北京邮电大学,2007.

[2] 焦梦姝,张麒,彭佳红. 基于决策树技术的土壤重金属污染预警分析研究[J]. 电脑知识与技术,2014,10(26):6210-6213.

[3] 邵峰晶,于忠清. 数据挖掘原理与算法[M]. 北京:电子工业出版社,2003.

[4] 窦玉. 黄瓜黑星病的发生及综合防治技术[J]. 现代农业,2012,38(2):27.

[5] 王海旺,李秀文,李恩萍,等. 影响黄瓜黑星病发生发展的环境因素[J]. 天津农林科技,2012,65(6):13-14 .

[6] 朱建兰,陈秀蓉. 黄瓜品种对黑星病的抗性鉴定结果[J].甘肃农业科技,1998,36(7):33-35.

[7] 高中礼,高凤侠. 日光温室黄瓜黑星病的防治技术[J].中国园艺文摘,2012,28(5):160-161.

[8] 毛国君,段立娟,王实,等. 数据挖掘原理与算法[M].北京:清华大学出版社,2005.

[9] 林向阳. 数据挖掘中的决策树算法比较研究[J]. 中国科技信息,2010,22(2):94-95.

[10] 巩固,黄永青,郝国生. 决策树算法的优化研究[J]. 计算机工程与应用,2010,46(13):139-141,150.

[11] 姚家奕,姜海,王秦. 决策树算法的系统实现与修剪优化[J]. 计算机工程与设计,2002,23(8):75-77.

责任编辑:张爱婷

Static Early-warning Model of Vegetable Diseases Based on Decision Tree

JI Si-qi, WU FangCorrespondingAuthor, LI Nai-xiang
(College of Computer and Information Engineering, Tianjin Agricultural University, Tianjin 300384, China)

The yield and quality of facility vegetables are seriously affected by diseases. Traditional control measures can not well meet the requirements of food safety and friendly environment from society whereas facility vegetable diseases early warning, which is a green and effective diseases control mode, can give consideration to both vegetable production and requirements of society. In this paper, decision tree C4.5 algorithm is applied to early warning of vegetable diseases and based on which static early warning model of facility vegetable diseases is constructed. For testing the feasibility and applicability of the model, cucumber scab is taken for example and the model constructed is analysed and evaluated. Result shows that using decision tree C4.5 algorithm is able to realize early warning of cucumber scab. The model of high accuracy and less time can be effectively applied to the actual production.

facility vegetable diseases; early warning; decision tree; cucumber scab; analysis and evaluation

TP391.4

:A

2016-05-23

天津市大学生创新创业训练计划项目“基于决策树的蔬菜病害静态预警模型”(201510061014);天津市农业物联网区试工程项目“设施蔬菜病害智能识别与监测预警系统建设”(无编号)

纪思琪(1996-),女,江苏徐州人,本科在读,主要从事物联网方面的研究。E-mail:646581858@qq.com。

吴芳(1979-),女,天津市人,讲师,博士,主要从事智能信息处理方面的研究。E-mail:20874116@qq.com。

1008-5394(2017)02-0077-04

猜你喜欢
黑星剪枝决策树
人到晚年宜“剪枝”
基于YOLOv4-Tiny模型剪枝算法
基于激活-熵的分层迭代剪枝策略的CNN模型压缩
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
伊犁苹果黑星病发生及其防治
黄瓜黑星病发病症状及其防治技术
剪枝
基于决策树的出租车乘客出行目的识别
基于肺癌CT的决策树模型在肺癌诊断中的应用