决策树算法在Weka平台上的数据挖掘应用
2022-02-22
来源:好走旅游网
MicrocomputerApplications Vo1.31,No.06,2015 文章编号:1007—757X(2015)06—0063—03 技术交流 微型电脑应用2015年第31卷第O6期 决策树算法在Weka平台上的数据挖掘应用 程斐斐,王子牛,侯立铎 摘要:决策树算法可以对数据集进行有效的训练学习和快速准确的分类,其中ID3算法是最早提出的一种决策树算法, 但是,此算法只适用于处理取值较多属性的数据,不能处理连续数据,对噪声也比较敏感。C4.5算法是对ID3算法的优 化,不仅可以对连续值属性进行处理,而且增加了对空值数据的处理功能。在研究和分析主流决策树算法基础上,针对二 手汽车数据库在Weka数据挖掘平台进行了C4.5算法的设计与实现。实验结果表明该算法对预测数据集中的相应属性能 进行较为准确的预测。 关键词:决策树算法;ID3;C4.5;Weka 中图分类号:TP302文献标志码:A Data Mining Application in Weka Platform Based on Decision Tree Classification Cheng Feifei.Wang Ziniu.HOH Liduo (College ofBig Data and Information Engineering,Guizhou University,Guiyang 550025,China) Abstract:Decision tTee algorithm can do effective training and learning as well as fast accurate classiication to datfaset.ID3 algorithm iS the earliest decision tree algorithm.But this algorithm carl only be applied to handle more attribute data values.and continuous data can’t be solved efhciently.It iS also sensitive to noise.C4.5 algorithm iS the optimization of ID3 algorithm.It can not only solve the continuous attribute values,but also increase the function of empty data.This Pa1)er mainly uses Weka data mining tools to do the design and realization of C4.5 algorithm.which is based on an example of Second—hand car database.This experiment indicates that those concentrated values can be predicted accurately by this algorithm. Key words:Decision 11ree Algorithm;ID3:C4.5:、veka 0引言 随着计算机和信息时代的发展,人们收集、存储和访问 的数据急剧增加,如何从大量的数据中提取并发现有用信息 点。在决策树的基本结构图中,中间结点常用矩形表示,叶 子结点代表目标类别属性的值,用椭圆形表示。是~棵简单 的决策树,如图l所示: 或知识,引起了学术界的广泛关注。数据挖掘因此应运而生。 数据挖掘的方法有很多,包括分类、预测、聚类、关联规则 挖掘、序列模式挖掘等。其中分类问题是被广泛研究的课题 之一,它是用来分析数据库中的一组对象,找出共同的属性, 构造分类模型,然后利用这个模型对其它的数据对象进行分 类。广泛使用的分类方法有决策树、贝叶斯分类、遗传算法 和神经网络等。其中,决策树是一种常用于预测模型的算法, 它将大量数据有目的的进行分类,从中找到一些具有商业价 值的、潜在的信息。 图l决策树结构图 1.2决策树的主要步骤 l决策树介绍 1.1决策树技术 决策树构造可以分两步进行: 第一步,建树阶段:由训练数据集生成决策树的过程。 按递归算法构造决策树,直到每个叶子结点属于同一类为 止,其本质是贪心算法。 决策树是用于分类与预测的主要技术,它是以实例为基 础的归纳学习算法,通过一组无次序、无规则的事例中推理 第二步,剪枝阶段:它是用数据对生成的决策树进行检 验,将不正确的问题进行调整,对决策树进行剪枝和增加结 点,直到建立一个正确的决策树。剪枝的主要目的是去掉噪 声和异常数据,使决策树具有更泛化能力。 利用决策树对数据进行分类和预测遵循两大步骤,如图 2所示: 出决策树表现形式的分类规则。这种算法采用“自顶向下、 分而治之”的方法,通常用来形成分类器和预测模型,可以 对未知数据进行分类、预测和数据预处理等。 决策树是一个类似于流程图的树结构,每个分枝代表一 个测试输出,树叶代表类或类分布,树的最顶层结点是根结 作者简介:程斐斐(1988一),女,贵州大学大数据与信息工程学院,硕士研究生,研究方向为用户上网行为的数据挖掘,贵阳,550025 王子牛(1961.),男,贵州大学网络与信息化管理中心,副教授,本科,主要研究方向为数据挖掘,贵阳,550025 侯立铎(1988.),男,贵州大学大数据与信息工程学院,硕士研究生,研究方向为数据挖掘,贵阳,550025 ・63・ MicrocomputerApplications Vo1.31,No.06,2015 @relation car—new 技术交流 微型电脑应用2015年第31卷第06期 @attirbute buying{V—high,high,med,low】 @attirbute maint{V—high,high,med,low) @attirbute doors{2.0,3.0,4.0,5一more} 算法C4.5,对汽车信息库中各类标号属性值进行分类和预测。 结果表明C4.5算法可以快速准确的对属性明确的数据进行 分类和预测。如何把决策树其它算法更好的应用于Weka平 台是笔者需要进一步研究的工作。 @attribute persons{2.0,4.0,more} @attribute lugboot{small,med,big} @attribute safety{low,med,high} @attribute class{unacc,acc,V—good,good} @data V—high,high,2.0,2.0,med,low,? high,V—high,2.0,4.0,small,med,? V—high,V—high,2.0,4.0,small,high,? 参考文献 [1】 Jiawei Han,Michwline Kamber,Jian Pei.Data Mining Concepts and Techniques[M].3nd ed.Beijing:China Machine Press,2012. [2] IanH.Witten,Eibe Frank.Data Mining Practical Machine Learning Tools and Techniques Second Edition[M].3nd V—high,V—high,3.0,2.0,med,low,? 通过已有的分类器对此文件的最后一个属性值进行预 测。经过在weka里分类预测后生成新文件Car—predicted.arff, 变化的部分如下: @attribute predictedclass{unacc,acc,v—good,good} @attirbute class{unacc,acc,v—good,good} @data 0,V—high,high,2.0,2.0,med,low,unacc,? ed.Beijing:China Machine Press.2006. [3] 王继魁,吕凯,李虹.基于决策树分类的Weka平台上数 据挖掘应用[J】.白城师范学院学报,2013,27(5):36—40. 【4] 戴南.基于决策树的分类方法研究【D】.南京:南京师范大 学,2003. 【5] 赵蕊.基于WEKA平台的决策树算法设计与实现[D].武 汉:中南大学,2007. 【6] 王黎明.决策树学习及其剪枝算法研究[D】.武汉:武汉理 工大学,2007. 【7] 冯少荣.决策树算法的研究与改进【J1.厦门大学学报(自 然科学版),2007,46(4):496—500. 【8] 邹媛.基于决策树的数据挖掘算法的应用与研究[J].科 学技术与工程,2010,10(18):4510—4515. 【9] 李如平.数据挖掘中决策树分类算法的研究[J].东华理 1,high,V—high,2.0,4.0,small,med,unacc,? 2,V—high,V—high,2.0,4.0,small,high,acc,? 3,v—high,v—high,3.0,2.0,med,low,unacc,? 有两个新的属性被添加到文件中,其中Predictedclass 的值就是对原class属性值的预测。 工大学学报(自然科学版),2010,33(2):192—196. 【l0]但小容,陈轩恕,刘飞,柳德伟.数据挖掘中决策树分类 算法的研究与改进[J1.软件导刊,2009,8(2):41—43. [11]胡江洪.基于决策树的分类算法研究[D】.武汉:武汉理 工大学,2006. 4总结 决策树是一种常用于预测模型的算法,Weka工具可以 高效的进行数据挖掘,并提供了分类、聚类、关联规则等多 种方法,为数据挖掘提供了一个方便快捷的平台。本文针对 二手车数据库,通过使用Weka数据挖掘工具及决策树分类 c6拳c c6事c c c c6¥c6事£ c c6¥£ c6事c6¥c c6事c6事£ 【12]杨学兵,张俊.决策树算法及其核心技术[JJ_计算机技术 与发展,2007,17(1):43—45. [13]唐华松,姚耀文.数据挖掘中决策树算法的探讨[J]计算 机应用研究,2001,18(8):19—22. (收稿日期:2014.12.16) 擎c6擎 c6 擎c6簪c6拳c cg拳 c6拳 c6拳 ¥ 拳 ¥c (上接第62页) 时间复杂度:最好情况下为O(nlogn),最坏情况下为 O(n 21。 生),多次测试结果如下表 数据(*1000) 30 70 快速排序(s) O.O55 O.1O8 挤压式排序(s) O.221 O.3l2 冒泡排序(s) 3.900 9.405 空间复杂度:需O(1ogn)的辅助空间。 (2)冒泡排序 1O5 150 200 O.162 0.220 0.272 0.867 1.207 1.268 13.865 2O.281 28.82l 冒泡排序算法的基本思想:将被排序的数组D[1…n1垂 直排列,每个元素D[i]视为重量为Dfi1.key的气泡。根据轻 气泡不能在重气泡之下的原则,从下往上扫描数组D,凡扫 描到违反本原则的轻气泡,就使其向上“飘浮”。如此反复 由上表对比实验结果数据分析可得:挤压排序在时间性 能上略低于快速排序,但却比冒泡排序快很多。 进行,直到最后任何两个气泡都是轻者在卜,重者在下为止。 时间复杂度:最好情况下(初始为正序),只需通过n一1 次比较,不需要移动关键字,即为O(n);最坏情况下(初始 4总结 本文研究提出的挤压排序算法是合理的、有效的,具有 一定的先进性和应用前景。 为逆序),须进行n(n一1)/2次比较,即为0(n 2) 。 空问复杂度:整个排序过程为比较交换,需0(1)的辅助 空间。 表1复杂度对比分析情况表 排序算法 最好情况 最坏情况 冒泡排序 0(n) 0(n 2) 机.2002. 参考文献 [1】 霍红卫,许进.快速排序算法研究【Jl_微电子学与计算 [2] 周建钦.超快速排序算-法【JJ.计算机工程与应用,2006. 辅助空间 0(1) 0(n) 0(1ogn) [3】 汪维清,罗先文,汪维华.分组排序算法[J1.计算机工程与 应用,2008. 挤压排序 快速排序 0(n) 0(nlogn) 0(n 2) 0(n 2) 【4] 淦艳,杨有.五种排序算法的性能分析fJ1.重庆文理学院 学报(自然科学版),2010. 【5] Clifford A.Shaffer.Data Structures and Algorithm Analysis in C++【M】.北京:电子工业出版社,2013. (收稿日期:2014.12.07) 3算法性能对比分析 对大量数据进行多次测试(数据由随机函数Rand()产 ・65・