基于Weka平台的机器学习方法探究

更新时间:2024-02-20 作者:用户投稿原创标记本站原创 点赞:23569 浏览:107150

摘 要 :针对机器学习技术理论性强、内容抽象、实践难的特点,提出了以Weka软件为平台的机器学习实践方案,并详细阐述了实施过程.通过对结果分析,达到使用Weka实践机器学习技术解决实际问题的目的.

关 键 词 :机器学习;数据挖掘;WEKA


中图分类号:G642文献标识码:A文章编号:1009-3044(2012)10-2334-04

Research of Machine Learning Based on Weka Platform

LI De-you, LI Ling-xia, GUO Rui-bo

(Harbin Finance University, Harbin 150030, China)

Abstract: For the characteristics of the strong theoretical, content abstraction and hard practice during the Machine learning, we present Machine learning practical solutions based on Weka platform in this paper, and elaborate the implementation process of the experimental program. By analyzing the results Achieved using the Weka practice of machine learning technology to solve practical problems.

Key words: machine learning, data mining, WEKA

数据挖掘是20世纪90年代中期兴起的新技术,它是指从大量的、不完全的、有噪声的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程[1].随着信息技术的发展,人们对数据挖掘越来越重视,特别在经济、统计和金融领域的应用和实践越来越成熟,机器学习技术是数据挖掘中非常有用的工具之一,新西兰怀卡大学开发的Weka机器学习软件是很受欢迎的一个实用工具.

1Weka平台

Weka工作平台汇集了当今主要的数据挖掘算法和数据预处理工具,包含能处理绝大多数的标准数据挖掘问题的方法:回归、分类、聚类、关联规则挖掘以及属性选择.它为数据挖掘实验的整个过程提供了广泛的支持,包括准备要输入的数据、统计评估数据挖掘方案,以及可视化输入数据和数据挖掘结果等.使用户能够很容易地将各种数据挖掘算法应用于其要处理的数据集中.Weka的图形用户界面如图1所示,用户可以通过操作运用其所包含的工具组件,比较不同的数据挖掘算法,找出能够解决当前问题的最有效的方法.

图1 Weka的图形用户界面

Weka的主要图形用户界面Explorer,在Explorer界面顶部的六个不同的标签,表示六个不同的面板,分别对应着Weka所支持的不同的数据挖掘方式,如图2所示.

图2 Weka的用户界面Explorer

在Explorer窗口顶部六个标签的功能分别是:

1)预处理(Preprocess):选择数据集,并以多种方式对其进行修改.

2)分类(Classify):训练用作分类或回归的学习方案,并对它们做评估.

3)聚类(Cluster):学习数据集的聚类.

4)关联(Associate):学习数据的关联规则并对其评估.

5)选择属性(Select attributes):在数据集中选择最相关的部分.

6)可视化(Visualize):查看不同的二维数据点图并与其互动.

2基于Weka平台的机器学习过程

该文以数据挖掘技术在通信公司客户关系管理中的应用为例,具体介绍如何应用Weka平台进行关于决策树的机器学习技术实践.

2.1数据准备

由于数据挖掘要处理的数据来自不同的数据源,数据量大,数据结构复杂,还有大量数据重复、歧义,并且里面空缺数据、噪声数据、冗余数据等对数据挖掘有负面影响的数据.数据准备主要包含以下三个方面:

1)确定项目目标.了解此次数据挖掘需要处理的任务,确定项目目标,制定挖掘计划,并制定一个针对数据挖掘结果的评价标准.这个项目目标应该是适用于选取的聚类分析方法来达到的.

2)数据收集.根据挖掘项目的目标,确定项目涉及的业务对象,确定要进行挖掘所需要的数据源.

3)数据集成.将多个数据源中的多种数据整合在一起,数据集成的目的是解决语义模糊性,统一数据格式,消除冗余,保证数据的一致性、完整性和有效性,为数据挖掘打下良好的基础.

2.2数据载入

Weka存储数据的原始方式是ARFF格式,大多数电子表及数据库程序允许用户将数据导入CSV格式的文件中,Weka能够直接读取CSV数据表.教师为学生提供数据集,我们选择的数据源主要有客户档案记录、客户营销记录、销售单主表、销售退货表、客户联系表、客户投诉记录等,数据集成后生成客户行为特征表电子表格customer behior.xls,在Microsoft Excel中将此文件存储为customer behior.csv,Explorer能够直接读取CSV电子数据表格.学生只需要将此数据集通过Weka的图形用户界面Explorer载入系统,供下面的数据挖掘使用.

单击图1的“Explorer”按钮,进入“Explorer”界面,如图2所示.单击“Preprocess”标签,进入预处理阶段.单击“Open file”按钮,通过弹出的对话框选择我们的数据文件customer behior.csv,在这里检测定我们的数据文件中的数据是完整的、无噪声的、一致的.

载入数据文件后,面板中会显示所载入的数据集包含的实例个数和属性项数,如图3所示.由图可知所载入的数据集含有14个实例和12个属性.这里我们选custom package作为分类属性.

可通过单击复选框和Remove按钮来删除属性.单击All则选中全部属性,None表示不选,Invert则反向转换目前的选择.通过点击Undo按钮撤销所做的改动.点击Edit按钮会弹出一个编辑器.通过编辑器可检查数据,搜索具体的值并对其进行编辑,以及删除实例和属性.

图3

2.3建立决策树

创建决策树的问题可以用递归形式表示.首先,选择一个属性放置在根节点,为每一个可能的属性值产生一个分支.这将使样本集分裂成多个子集,一个子集对应于一个属性集.选择Custom Package属性作为根节点,运用Weka平台的“Explorer”,实施基于决策树技术的客户群体分类的客户模型的建立.单击Weka Explorer窗口中的Classify标签,如图4所示.

图4 Classify标签窗口

单击左上方的Choose按钮,在随后打开的层级式菜单中选择分类器,一旦被选中,分类器名称及其相关的默认参数值就会出现在Choose按钮旁边的条形框中.单击这个条形框打开所选算法的对象编辑器,编辑器会显示各个参数的含义,且可以根据需要更改参数的值.Explorer通常会合理地设定这些参数的默认值.在test options中选中了Cross-validation Folds,是默认的评估方法.

选定分类器后,单击Start按钮使其开始工作,Weka每次运行时间较短,随后结果会显示在Classify output的主面板上.Custom package属性有2个属性值(yes和no),产生2个子树,可以沿着这两条路径根据其他属性继续构造子树,重复上述过程创建子树.

2.4查看结果

图5列出了全部输出结果.在该结果的开头给出了数据集概要并注明所用的评估方法是10-fold cross-validation,该方法是默认的.本次实验选用的是J48分类器.

图5输出结果

由图5可知,100%的实例在10-fold cross-validation验证方法中是正确分类的,这表明,测试集所得到的结果是客观的.

3结束语

机器学习技术具有理论性强、内容较为抽象的特点,只有通过像Weka这样实用可靠的平台才能真正解决实际问题,但Weka平台本身也有一定的局限性和不足,随着数据挖掘研究的深入和技术的不断提高,我们将研究其它数据挖掘工具作作为机器学习技术实践补充的可行性.