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