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