决策树算法在Weka平台上的数据挖掘应用

2015-04-21 02:54程斐斐王子牛侯立铎
微型电脑应用 2015年6期
关键词:结点决策树数据挖掘

程斐斐,王子牛,侯立铎

决策树算法在Weka平台上的数据挖掘应用

程斐斐,王子牛,侯立铎

决策树算法可以对数据集进行有效的训练学习和快速准确的分类,其中ID3算法是最早提出的一种决策树算法,但是,此算法只适用于处理取值较多属性的数据,不能处理连续数据,对噪声也比较敏感。C4.5算法是对ID3算法的优化,不仅可以对连续值属性进行处理,而且增加了对空值数据的处理功能。在研究和分析主流决策树算法基础上,针对二手汽车数据库在Weka数据挖掘平台进行了C4.5算法的设计与实现。实验结果表明该算法对预测数据集中的相应属性能进行较为准确的预测。

决策树算法;ID3;C4.5;Weka

0 引言

随着计算机和信息时代的发展,人们收集、存储和访问的数据急剧增加,如何从大量的数据中提取并发现有用信息或知识,引起了学术界的广泛关注。数据挖掘因此应运而生。数据挖掘的方法有很多,包括分类、预测、聚类、关联规则挖掘、序列模式挖掘等。其中分类问题是被广泛研究的课题之一,它是用来分析数据库中的一组对象,找出共同的属性,构造分类模型,然后利用这个模型对其它的数据对象进行分类。广泛使用的分类方法有决策树、贝叶斯分类、遗传算法和神经网络等。其中,决策树是一种常用于预测模型的算法,它将大量数据有目的的进行分类,从中找到一些具有商业价值的、潜在的信息。

1 决策树介绍

1.1 决策树技术

决策树是用于分类与预测的主要技术,它是以实例为基础的归纳学习算法,通过一组无次序、无规则的事例中推理出决策树表现形式的分类规则。这种算法采用“自顶向下、分而治之”的方法,通常用来形成分类器和预测模型,可以对未知数据进行分类、预测和数据预处理等。

决策树是一个类似于流程图的树结构,每个分枝代表一个测试输出,树叶代表类或类分布,树的最顶层结点是根结点。在决策树的基本结构图中,中间结点常用矩形表示,叶子结点代表目标类别属性的值,用椭圆形表示。是一棵简单的决策树,如图1所示:

图1 决策树结构图

1.2 决策树的主要步骤

决策树构造可以分两步进行:

第一步,建树阶段:由训练数据集生成决策树的过程。按递归算法构造决策树,直到每个叶子结点属于同一类为止,其本质是贪心算法。

第二步,剪枝阶段:它是用数据对生成的决策树进行检验,将不正确的问题进行调整,对决策树进行剪枝和增加结点,直到建立一个正确的决策树。剪枝的主要目的是去掉噪声和异常数据,使决策树具有更泛化能力。

利用决策树对数据进行分类和预测遵循两大步骤,如图2所示:

图2 决策树工作原理流程图

2 常见的决策树算法

2.1 ID3算法

ID3算法是一种基于信息熵的决策树学习算法,根据Shannon信息论把信息熵作为选择测试属性的标准,对训练实例集进行分类,并构造决策树来预测如何由测试属性对整个实例空间进行划分。

定义2.1设U是论域,X1,X2…Xn是U的一个划分,其上有概率分布,则称:为信息源X的信息熵,其中对数取以2为底。

2.2 C4.5算法

C4.5算法在选择测试属性上采用基于信息增益率的方法,信息增益率等于信息增益对分割信息量的比值。设样本集S按离散属性A的n个不同的取值,划分为S1,S2…Sn。共n个子集,则用A对S进行划分的信息增益率为:

算法在ID3的基础上增加了新的功能,不但可以对连续型属性处理,而且允许出现属性空缺的样本。

3 决策树分类实例

本文使用Weka数据挖掘工具对1700多条二手汽车信息数据进行挖掘分析,Weka存储数据的格式是ARFF文件。首先先进行数据抽取和处理,把有用的信息抽取到数据库里,再进一步处理,使Weka能够处理这些数据。生成的部分库信息,如图3所示:

图3 汽车信息表

car.arff文件的部分文件内容如下:

在Weka中导入文件后,选取J48即C4.5决策树算法,设定置信度阈C为0.25,分枝数M为15,并设定样本的Cross-validation的交叉验证组别为10,有效提高分类器中的样本的精确度,进行数据挖掘。结果如图4所示:

图4 分类结果

由于可视化的模型不够清晰,故手绘一个模型图,如图5所示:

图5 决策树模型

用J48算法交叉结果之一为Correctly Classified Instances143883.2176%,说明这个模型的准确度在83%左右。而选取分枝树M为默认值2时,准确度达到96%,但是其可视化的决策树可视化图太过于密集,通过对复杂程度和准确度的分析,在M为15时最合适。

对已有的数据集建立训练模型后,可以对一些待预测的数据集中相应属性值进行预测,待预测数据集和训练数据集各个属性的设置需一致。对car-new.arff数据集进行分类和预测,文件部分如下:

通过已有的分类器对此文件的最后一个属性值进行预测。经过在Weka里分类预测后生成新文件car-predicted.arff,变化的部分如下:

有两个新的属性被添加到文件中,其中Predictedclass的值就是对原class属性值的预测。

4 总结

决策树是一种常用于预测模型的算法,Weka工具可以高效的进行数据挖掘,并提供了分类、聚类、关联规则等多种方法,为数据挖掘提供了一个方便快捷的平台。本文针对二手车数据库,通过使用Weka数据挖掘工具及决策树分类算法C4.5,对汽车信息库中各类标号属性值进行分类和预测。结果表明C4.5算法可以快速准确的对属性明确的数据进行分类和预测。如何把决策树其它算法更好的应用于Weka平台是笔者需要进一步研究的工作。

[1]Jiawei Han,Michwline Kamber,Jian Pei.Data Mining Conceptsand Techniques[M].3nded.Beijing:China Machine Press,2012.

[2]IanH.Witten,Eibe Frank.Data Mining Practical Machine Learning Tools and Techniques Second Edition[M].3nd 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]冯少荣.决策树算法的研究与改进[J].厦门大学学报(自然科学版),2007,46(4):496-500.

[8]邹媛.基于决策树的数据挖掘算法的应用与研究[J].科学技术与工程,2010,10(18):4510-4515.

[9]李如平.数据挖掘中决策树分类算法的研究[J].东华理工大学学报(自然科学版),2010,33(2):192-196.

[10]但小容,陈轩恕,刘飞,柳德伟.数据挖掘中决策树分类算法的研究与改进[J].软件导刊,2009,8(2):41-43.

[11]胡江洪.基于决策树的分类算法研究[D].武汉:武汉理工大学,2006.

[12]杨学兵,张俊.决策树算法及其核心技术[J].计算机技术与发展,2007,17(1):43-45.

[13]唐华松,姚耀文.数据挖掘中决策树算法的探讨[J]计算机应用研究,2001,18(8):19-22.

Data Mining Application in Weka Platform Based on Decision Tree Classification

Cheng Feifei,Wang Ziniu,Hou Liduo
(College of Big Data and Information Engineering,Guizhou University,Guiyang 550025,China)

Decision tree algorithm can do effective training and learning as well as fast accurate classification to dataset.ID3 algorithm is the earliest decision tree algorithm.But this algorithm can only be applied to handle more attribute data values,and continuous data can’t be solved efficiently.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 paper 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.

Decision Tree Algorithm;ID3;C4.5;Weka

TP302

A

1007-757X(2015)06-0063-03

2014.12.16)

程斐斐(1988-),女,贵州大学大数据与信息工程学院,硕士研究生,研究方向为用户上网行为的数据挖掘,贵阳,550025

王子牛(1961-),男,贵州大学网络与信息化管理中心,副教授,本科,主要研究方向为数据挖掘,贵阳,550025

侯立铎(1988-),男,贵州大学大数据与信息工程学院,硕士研究生,研究方向为数据挖掘,贵阳,550025

猜你喜欢
结点决策树数据挖掘
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
探讨人工智能与数据挖掘发展趋势
一种针对不均衡数据集的SVM决策树算法
决策树和随机森林方法在管理决策中的应用
基于并行计算的大数据挖掘在电网中的应用
基于决策树的出租车乘客出行目的识别
一种基于Hadoop的大数据挖掘云服务及应用
基于肺癌CT的决策树模型在肺癌诊断中的应用
高级数据挖掘与应用国际学术会议