基于RapidMiner的SVM分类方法设计
2015-02-07贵州师范大学物理与电子科学学院
贵州师范大学物理与电子科学学院 陈 葡
贵州财经大学管理科学学院 陈 葵
贵州师范大学物理与电子科学学院 游子毅
基于RapidMiner的SVM分类方法设计
贵州师范大学物理与电子科学学院 陈 葡
贵州财经大学管理科学学院 陈 葵
贵州师范大学物理与电子科学学院 游子毅
大数据时代背景下,数据挖掘技术是人们面对浩瀚的数据所必备的技能,也是提高数据利用的有效方式,使用现有的数据挖掘工具可以减少数据挖掘的时间,Rapidminer是一个开源的数据挖掘工具,其可视化特性,使用者容易学习和掌握,其开源性,使用者可以免费使用。本文通过在Rapidminer中使用SVM方法对UCI的一个数据集进行分类的实验,介绍如何使用Rapidminer进行数据挖掘。
数据挖据;RapidMiner;SVM;分类
引言
大数据时代的背景下,如何在庞杂的数据中找到针对每个人特点的有用数据是大数据技术的一个重要组成部分,这给数据挖掘技术带来了新的机遇与挑战。数据挖掘是指从大量、杂乱的实际数据中,提取隐藏在其内部、潜在有用的信息和知识的过程,然后把提取出的信息和知识表示为规律、概念、模式、规则等形式[1]。数据挖掘过程一般包括以下步骤,依次是数据预处理、特征选择、模型选择和模型评估[1]。
RapidMiner是一个可视化开源数据挖掘工具,可进行数据挖掘、机器学习和商业预测分析[2]。其可视化特性,较其他开源的数据挖掘工具而言,初学者很容易入门;其开源特性,较其他开源的数据挖掘工具而言,使用者可以免费使用。在RapidMiner中将相应算子(operataor)进行连接形成流程(process)实现数据挖掘功能,整个流程就像是车间的生产流水线,原材料进入流水线生产后生产出成品,在RapidMiner中输入原始数据,经过流程后输出模型评价结果或预测结果。算子就像是执行某种具体功能的函数,不同算子有不同的输入输出特性。大概包括以下几类算子:流程控制类,实现循环和条件功能;数据输入和输出类,实现数据交换;数据转换类,数据抽取、清洗整理功能;建模类,分类回归建模,关联分析、聚类分析、集成学习等;评估类,多重交叉检验,自助法检验等[1]。
1 数据挖掘常用算法
数据挖掘技术在大数据时代背景下占有很重要的地位,为了满足用户能在庞大的数据中筛选出有用数据的需要,数据挖掘中的分类技术是当前使用最为广泛的方法之一[2]。分类分析首先将待处理的数据分成训练集和测试集,然后使用分类算法模型分析训练集中的数据,为训练集中的每个类别做出描述并建立分析模型或挖掘出分类规则,接着将该模型或分类规则放到测试集中进行验证,根据评价参数对模型进行评价并进行改进,最后用该模型或分类规则对未来的或其他数据库中的记录进行分类的方法。常见的分类算法有决策树、神经网络和SVM等,本文采用SVM方法对实验数据进行分类[3]。
SVM算法是建立在统计学习理论的VC维理论和结构风险最小原理基础上,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,在通用文本分类领域取得了成功,是众多分类算法中公认的效果最好的方法之一,具有分类精度高、鲁棒性好等诸多优点[4]。
2.实验环境
2.1 数据集
本文采用UCI Machine Learning Repository中的Chronic_Kidney_Disease数据集作为实验数据,该数据集中有400条数据,25个属性,400条数据分为两类(ckd和notckd),其中250条数据属于ckd,150条数据属于notckd,在Rapidminer5.3中使用SVM进行实验。
2.2 实验步骤
实验步骤如下:step1、将Chronic_Kidney_Disease数据集导入Rapidminer5.3后,在主流程(main process)为该数据集新建一个库(Repository);step2、选择模型(modeling)中的SVM放入主流程(main process)中,因为SVM处理的数据不允许有缺失,不允许处理一些特殊的数据类型,比如polynomial,所以在选择模型之前使用数据类型转换和用一些特殊值替换缺失值对数据进行预处理;step3、设置SVM中的相关参数(parameter);step4、进行算子连接,实验流程如图1所示;step5、点击运行(Run)按钮执行流程得到结果。
图1 流程图
2.3 实验结果
实验中采用召回率(Recall)、精确率(Precision)、正确率(Accuracy)三个方面作为基本评价指标。假设原始样本有两类(0和1),假设类别1为正例,类别0为负例,为方便叙述,先定义几个变量,P:类别为1的数量;N:类别为0 的数量。
TP:分类后类别为1的样本被正确判定为类别1的数量;FN:分类后类别为1的样本被系统误判定为类别0的数量;FP:分类后类别为0的样本被系统误判定为类别1的数量;TN:分类后类别为0的样本被系统误判定为类别0的数量;P=TP+FN;N=FP+TN。精确度:P=TP/(TP+FP),即正例检对率,反映了被分类器判定的正例中真正的正例样本的比重。正确率:A=(TP+TN)/(P+N),所有类别的判对率,反映了分类器对整个样本的判定能力。召回率:R=TP/(TP+FN),即正例检出率,反映了分类器正确判定的正例占总的正例的比重。本实验的精确度、准确率、召回率如图2所示。
图2 实验结果
3 总结
大数据时代背景下,为了满足用户能在庞大的数据中筛选出有用数据的需要,数据挖掘中的分类技术是当前使用最为广泛的方法之一。针对现有的数据挖据工具中如果开源那么界面不够友好或如果界面友好却是商业化的工具的问题,本文采用界面友好的开源数据挖掘工具RapidMiner进行数据挖据(SVM),可以提高数据挖掘中算法的性能与效率,发挥实际应用价值。
[1]I.Mierswa,M.Wurst,R.Klinkenberg,M.Scholz,and T.Euler.Yale:Rapid prototyping for complex data mining tasks.In Proc.KDD‘06, pages 935-940,2006.
[2]王雅轩,顼聪.数据挖掘技术的综述[J].电子技术与软件工程,2015,4:204-205.
[3]何峡峰.浅析数据挖掘中的分类算法[J].电子制作,2015,4: 221-222.
[4]陈葡.基于词序列核的垃圾邮件过滤[J].武汉大学学报(理学版),2011,10:419-423.
陈葡(1985—),女,硕士研究生,现从事无线传感器与数据挖掘研究。
“基于VANET的最佳路径选择研究”,2014年贵州省科学技术联合基金项目(黔科合LH字[2014]7045)。