推薦:幾款優秀的開源數據挖掘工具

IDMer說道:本文只對幾種流行的開源數據挖掘平臺進行了檢視,比如Weka和R等。如果您想找尋更多的開源數據挖掘軟件,可以到KDnuggets和Open Directory上查看。爲了評測這些軟件,我們用了UCI Machine Learning Repository上的心臟病診斷數據集。

R

R (http://www.r-project.org) 是用於統計分析和圖形化的計算機語言及分析工具,爲了保證性能, 其核心計算模塊是用C、C++和Fortran編寫的。同時爲了便於使用,它提供了一種腳本語言,即R語言。R語言和貝爾實驗室開發的S語言類似。R支持 一系列分析技術,包括統計檢驗、預測建模、數據可視化等等。在CRAN(http://cran.r-project.org) 上可以找到衆多開源的擴展包。
R軟件的首選界面是命令行界面,通過編寫腳本來調用分析功能。如果缺乏編程技能,也可使用圖形界面,比如使用R Commander(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)或Rattle(http://rattle.togaware.com)。

Tanagra

Tanagra (http://eric.univ-lyon2.fr/wricco/tanagra/) 是使用圖形界面的數據挖掘軟件,採用了類似Windows資源管理器中的樹狀結構來組織分析組件。Tanagra缺乏高級的可視化能力,但它的強項是統計 分析,提供了衆多的有參和無參檢驗方法。同時它的特徵選取方法也很多。

Weka

Weka (Waikato Environment for Knowledge Analysis, http://www.cs.waikato.ac.nz/ml/weka/) 可能是名氣最大的開源機器學習和數據挖掘軟件。高級用戶可以通過Java編程和命令行來調用其分析組件。同時,Weka也爲普通用戶提供了圖形化界面,稱 爲Weka KnowledgeFlow Environment和Weka Explorer。和R相比,Weka在統計分析方面較弱,但在機器學習方面要強得多。在Weka論壇 (http://weka.sourceforge.net/wiki/index.php/Related_Projects) 可以找到很多擴展包,比如文本挖掘、可視化、網格計算等等。很多其它開源數據挖掘軟件也支持調用Weka的分析功能。



YALE
 (IDMer:現在已經更名爲RapidMiner)

YALE (Yet Another Learning Environment, http://rapid-i.com) 提供了圖形化界面,採用了類似Windows資源管理器中的樹狀結構來組織分析組件,樹上每個節點表示不同的運算符(operator)。YALE中提供 了大量的運算符,包括數據處理、變換、探索、建模、評估等各個環節。YALE是用Java開發的,基於Weka來構建,也就是說它可以調用Weka中的各 種分析組件。

KNIME

KNIME (Konstanz InformationMiner, http://www.knime.org)是基於Eclipse開發環境來精心開發的數據挖掘工具。無需安裝,方便使用(IDMer:呵呵,大家喜歡的綠色版)。和YALE一樣,KNIME也是用Java開發的,可以擴展使用Weka中的挖掘算法。和YALE不同點的是,KNIME採用的是類似數據流(data flow)的方式來建立分析挖掘流程(IDMer:這個我喜歡,和SAS EM或SPSS Clementine等商用數據挖掘軟件的操作方式類似)。挖掘流程由一系列功能節點(node)組成,每個節點有輸入/輸出端口(port),用於接收數據或模型、導出結果。(IDMer:感覺KNIME比Weka的KnowledgeFlow更好用,連接節點時很方便,直接用鼠標拖拽連接端口即可。而Weka中則需要在節點上按鼠標右鍵,再選擇後續節點,比較麻煩,剛開始使用時找了半天才知道怎麼連)
KNIME中每個節點都帶有交通信號燈,用於指示該節點的狀態(未連接、未配置、缺乏輸入數據時爲紅燈;準備執行爲黃燈;執行完畢後爲綠燈)。在KNIME中有個特色功能——HiLite,允許用戶在節點結果中標記感興趣的記錄,並進一步展開後續探索。

Orange

Orange (http://www.ailab.si/orange)是類似KNIME和Weka KnowledgeFlow的數據挖掘工具,它的圖形環境稱爲Orange畫布(OrangeCanvas),用戶可以在畫布上放置分析控件 (widget),然後把控件連接起來即可組成挖掘流程。這裏的控件和KNIME中的節點是類似的概念。每個控件執行特定的功能,但與KNIME中的節點 不同,KNIME節點的輸入輸出分爲兩種類型(模型和數據),而Orange的控件間可以傳遞多種不同的信號,比如learners, classifiers, evaluation results, distance matrices, dendrograms等等。Orange的控件不象KNIME的節點分得那麼細,也就是說要完成同樣的分析挖掘任務,在Orange裏使用的控件數量可 以比KNIME中的節點數少一些。Orange的好處是使用更簡單一些,但缺點是控制能力要比KNIME弱。
除了界面友好易於使用的優點,Orange的強項在於提供了大量可視化方法,可以對數據和模型進行多種圖形化展示,並能智能搜索合適的可視化形式,支持對數據的交互式探索。
Orange的弱項在於傳統統計分析能力不強,不支持統計檢驗,報表能力也有限。Orange的底層核心也是採用C++編寫,同時允許用戶使用Python腳本語言來進行擴展開發(參見http://www.scipy.org)。

 


GGobi

數據可視化是數據挖掘的重要組成部分, GGobi (http://www.ggobi.org)就是用於交互式可視化的開源軟件,它使用brushing的方法。GGobi可以用作R軟件的插件,或者通過Perl、Python等腳本語言來調用。

結論
----
以 上介紹的幾款軟件都是優秀的開源數據挖掘軟件,各有所長,同時也各有缺點。讀者可以結合自己的需求來進行選擇,或者組合使用多個軟件。對於普通用戶可以選 用界面友好易於使用的軟件,對於希望從事算法開發的用戶則可以根據軟件開發工具不同(Java、R、C++、Python等)來選擇相應的軟件。以上這幾 款軟件(除了GGobi)基本上都提供了我們期望的大部分功能。
(IDMer:我嘗試了以上這幾種 開源軟件,Weka很有名但用起來並不方便,界面也簡單了點;RapidMiner現在流行的勢頭在上升,但它的操作方式和商用軟件差別較大,不支持分析 流程圖的方式,當包含的運算符比較多的時候就不容易查看了;KNIME和Orange看起來都不錯,Orange界面看上去很清爽,但我發現它不支持中 文。我的推薦是KNIME,同時安裝Weka和R擴展包。)
(IDMer:我的點評純屬個人意見,歡迎大家批評交流。在我的實際工作中使用開源挖掘工具並不多,大部分時候都是在使用SAS Enterprise Miner。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章