貴州師范大學物理與電子科學學院 陳 葡
貴州財經大學管理科學學院 陳 葵
貴州師范大學物理與電子科學學院 游子毅
基于RapidMiner的SVM分類方法設計
貴州師范大學物理與電子科學學院 陳 葡
貴州財經大學管理科學學院 陳 葵
貴州師范大學物理與電子科學學院 游子毅
大數據時代背景下,數據挖掘技術是人們面對浩瀚的數據所必備的技能,也是提高數據利用的有效方式,使用現有的數據挖掘工具可以減少數據挖掘的時間,Rapidminer是一個開源的數據挖掘工具,其可視化特性,使用者容易學習和掌握,其開源性,使用者可以免費使用。本文通過在Rapidminer中使用SVM方法對UCI的一個數據集進行分類的實驗,介紹如何使用Rapidminer進行數據挖掘。
數據挖據;RapidMiner;SVM;分類
大數據時代的背景下,如何在龐雜的數據中找到針對每個人特點的有用數據是大數據技術的一個重要組成部分,這給數據挖掘技術帶來了新的機遇與挑戰。數據挖掘是指從大量、雜亂的實際數據中,提取隱藏在其內部、潛在有用的信息和知識的過程,然后把提取出的信息和知識表示為規律、概念、模式、規則等形式[1]。數據挖掘過程一般包括以下步驟,依次是數據預處理、特征選擇、模型選擇和模型評估[1]。
RapidMiner是一個可視化開源數據挖掘工具,可進行數據挖掘、機器學習和商業預測分析[2]。其可視化特性,較其他開源的數據挖掘工具而言,初學者很容易入門;其開源特性,較其他開源的數據挖掘工具而言,使用者可以免費使用。在RapidMiner中將相應算子(operataor)進行連接形成流程(process)實現數據挖掘功能,整個流程就像是車間的生產流水線,原材料進入流水線生產后生產出成品,在RapidMiner中輸入原始數據,經過流程后輸出模型評價結果或預測結果。算子就像是執行某種具體功能的函數,不同算子有不同的輸入輸出特性。大概包括以下幾類算子:流程控制類,實現循環和條件功能;數據輸入和輸出類,實現數據交換;數據轉換類,數據抽取、清洗整理功能;建模類,分類回歸建模,關聯分析、聚類分析、集成學習等;評估類,多重交叉檢驗,自助法檢驗等[1]。
數據挖掘技術在大數據時代背景下占有很重要的地位,為了滿足用戶能在龐大的數據中篩選出有用數據的需要,數據挖掘中的分類技術是當前使用最為廣泛的方法之一[2]。分類分析首先將待處理的數據分成訓練集和測試集,然后使用分類算法模型分析訓練集中的數據,為訓練集中的每個類別做出描述并建立分析模型或挖掘出分類規則,接著將該模型或分類規則放到測試集中進行驗證,根據評價參數對模型進行評價并進行改進,最后用該模型或分類規則對未來的或其他數據庫中的記錄進行分類的方法。常見的分類算法有決策樹、神經網絡和SVM等,本文采用SVM方法對實驗數據進行分類[3]。
SVM算法是建立在統計學習理論的VC維理論和結構風險最小原理基礎上,根據有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,在通用文本分類領域取得了成功,是眾多分類算法中公認的效果最好的方法之一,具有分類精度高、魯棒性好等諸多優點[4]。
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 實驗結果
大數據時代背景下,為了滿足用戶能在龐大的數據中篩選出有用數據的需要,數據挖掘中的分類技術是當前使用最為廣泛的方法之一。針對現有的數據挖據工具中如果開源那么界面不夠友好或如果界面友好卻是商業化的工具的問題,本文采用界面友好的開源數據挖掘工具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)。