背景介紹:
1)Weka: Weka有兩種意思:一種不會飛的鳥的名字,一個機器學習開源項目的簡稱(Waikato Environment for Knowledge Analysis,http://www.cs./~ml/weka/)。 我們這里當然要介紹的是第二種意思啦,Weka項目從1992年開始,由新西蘭政府支持,現(xiàn)在已在機器學習領(lǐng)域大名鼎鼎。Weka里有非常全面的機器學習 算法,包括數(shù)據(jù)預(yù)處理、分類、回歸、聚類、關(guān)聯(lián)規(guī)則等。Weka的圖形界面對不會寫程序的人來說非常方便,而且提供“KnowledgeFlow” 功能,允許將多個步驟組成一個工作流。另外,Weka也允許在命令行執(zhí)行命令。 2)R R就不用我廢話了吧,呵呵,越來越受歡迎的統(tǒng)計軟件(http://www./)。 3)R與Weka: R里有很多機器學習的函數(shù)和包,不過Weka里提供的函數(shù)更全面更集中,所以我有時候需要用到Weka。以前我是這樣用R和Weka的: 在R中準備好訓練的數(shù)據(jù)(如:提取數(shù)據(jù)特征……); 整理成Weka需要的格式(*.arff); 在Weka里做機器學習(如:特征選擇、分類……); 從Weka的預(yù)測結(jié)果計算需要的統(tǒng)計量(如:sensitivity, specificity, MCC……)。 來回搗騰兩個軟件還是挺麻煩的;為了偷懶,我沒學Weka的命令行,只會用圖形界面的,在數(shù)據(jù)量大的時候非常受罪,有時候還會內(nèi)存不夠。現(xiàn)在發(fā)現(xiàn)R竟然提供了和Weka的接口函數(shù)包RWeka,以后方便多了哦,下面介紹一下RWeka的功能: RWeka (http://cran./web/packages/RWeka/index.html) : 1) 數(shù)據(jù)輸入和輸出 WOW():查看Weka函數(shù)的參數(shù)。 Weka_control():設(shè)置Weka函數(shù)的參數(shù)。 read.arff():讀Weka Attribute-Relation File Format (ARFF)格式的數(shù)據(jù)。 write.arff:將數(shù)據(jù)寫入Weka Attribute-Relation File Format (ARFF)格式的文件。 2) 數(shù)據(jù)預(yù)處理 Normalize():無監(jiān)督的標準化連續(xù)性數(shù)據(jù)。 Discretize():用MDL(Minimum Description Length)方法,有監(jiān)督的離散化連續(xù)性數(shù)值數(shù)據(jù)。 3) 分類和回歸 IBk():k最近鄰分類 LBR():naive Bayes法分類 J48():C4.5決策樹算法(決策樹在分析各個屬性時,是完全獨立的)。 LMT():組合樹結(jié)構(gòu)和Logistic回歸模型,每個葉子節(jié)點是一個Logistic回歸模型,準確性比單獨的決策樹和Logistic回歸方法要好。 M5P():M5 模型數(shù)算法,組合了樹結(jié)構(gòu)和線性回歸模型,每個葉子節(jié)點是一個線性回歸模型,因而可用于連續(xù)數(shù)據(jù)的回歸。 DecisionStump():單層決策樹算法,常被作為boosting的基本學習器。 SMO():支持向量機分類 AdaBoostM1():Adaboost M1方法。-W參數(shù)指定弱學習器的算法。 Bagging():通過從原始數(shù)據(jù)取樣(用替換方法),創(chuàng)建多個模型。 LogitBoost():弱學習器采用了對數(shù)回歸方法,學習到的是實數(shù)值 MultiBoostAB():AdaBoost 方法的改進,可看作AdaBoost 和 “wagging”的組合。 Stacking():用于不同的基本分類器集成的算法。 LinearRegression():建立合適的線性回歸模型。 Logistic():建立logistic回歸模型。 JRip():一種規(guī)則學習方法。 M5Rules():用M5方法產(chǎn)生回歸問題的決策規(guī)則。 OneR():簡單的1-R分類法。 PART():產(chǎn)生PART決策規(guī)則。 4) 聚類 Cobweb():這是種基于模型方法,它假設(shè)每個聚類的模型并發(fā)現(xiàn)適合相應(yīng)模型的數(shù)據(jù)。不適合對大數(shù)據(jù)庫進行聚類處理。 FarthestFirst():快速的近似的k均值聚類算法 SimpleKMeans():k均值聚類算法 XMeans():改進的k均值法,能自動決定類別數(shù) DBScan():基于密度的聚類方法,它根據(jù)對象周圍的密度不斷增長聚類。它能從含有噪聲的空間數(shù)據(jù)庫中發(fā)現(xiàn)任意形狀的聚類。此方法將一個聚類定義為一組“密度連接”的點集。 5)關(guān)聯(lián)規(guī)則 Apriori():Apriori是關(guān)聯(lián)規(guī)則領(lǐng)域里最具影響力的基礎(chǔ)算法,是一種廣度優(yōu)先算法,通過多次掃描數(shù)據(jù)庫來獲取支持度大于最小支持度的頻繁項 集。它的理論基礎(chǔ)是頻繁項集的兩個單調(diào)性原則:頻繁項集的任一子集一定是頻繁的;非頻繁項集的任一超集一定是非頻繁的。在海量數(shù)據(jù)的情況 下,Apriori 算法的時間和空間成本非常高。 Tertius():Tertius算法。 6)預(yù)測和評估: predict():根據(jù)分類或聚類結(jié)果預(yù)測新數(shù)據(jù)的類別 table():比較兩個因子對象 evaluate_Weka_classifier():評估模型的執(zhí)行,如:TP Rate,F(xiàn)P Rate,Precision,Recall,F(xiàn)-Measure。 |
|
來自: ShangShujie > 《DM,ML》