小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

開源的數(shù)據(jù)挖掘工具

 gauche 2009-09-28

開源的數(shù)據(jù)挖掘工具


本 文的主要內(nèi)容編譯自Blaz Zupan和Janez Demsar的一篇論文(Open-Source Tools for Data Mining),原文參見http://magix.fri./blaz/papers/2008- OpenSourceDataMining.pdf。我僅僅選擇其中的要點和大家共享,同時加入一些個人的點評意見。

此外,對開源的數(shù)據(jù)挖掘工具有興趣的同仁,可以關(guān)注以下OSDM09這個workshop,它會在PAKDD'09上同時進行,主要討論的就是開源數(shù)據(jù)挖掘工具的議題。OSDM09的網(wǎng)址為:http://osdm09./。

開源的數(shù)據(jù)挖掘工具(Open-Source Tools for Data Mining)
=======================================================
Blaz Zupan, PhD, Janez Demsar, PhD (編譯:IDMer)

數(shù)據(jù)挖掘軟件的歷史并不長,甚至連“數(shù)據(jù)挖掘”這個術(shù)語也只是在上世紀九十年代中期才正式提出,它融合了統(tǒng)計學(xué)、機器學(xué)習(xí)、數(shù)據(jù)可視化以及知識工程 等研究領(lǐng)域的內(nèi)容,在數(shù)據(jù)探索和模型推斷等方面已經(jīng)相當成熟。和現(xiàn)在相比,那時的數(shù)據(jù)挖掘軟件還顯得很笨拙,一般只提供了命令行界面。對于眾多沒有計算機 科學(xué)背景的用戶來說,還是太難用了。

現(xiàn)在的商用數(shù)據(jù)挖掘軟件已經(jīng)很成熟了,也提供易用的可視化界面,集成了數(shù)據(jù)處理、建模、評估等一整套功能。盡管開源的數(shù)據(jù)挖掘工具在穩(wěn)定性和成熟性上可能都無法跟商用數(shù)據(jù)挖掘軟件相比(IDMer:而且開源數(shù)據(jù)挖掘工具在性能上和售后支持上也無法提供讓商業(yè)用戶放心的保證),但有些開源工具還是做得不錯的,用戶可以選擇它來做一些相對不那么重要的分析挖掘工作。

本文對開源數(shù)據(jù)挖掘工具的演進過程進行了簡單回顧,并挑選了一些比較優(yōu)秀的開源挖掘工具,供大家選擇。

開源數(shù)據(jù)挖掘工具的演進過程
--------------------------

從上世紀八十年代起就出現(xiàn)了早期的模型推斷和機器學(xué)習(xí)程序,它們一般都是以命令行的方式執(zhí)行(從UNIX或DOS的命令行啟動),用戶在命令中指定 輸入數(shù)據(jù)文件名和算法相關(guān)參數(shù)。廣為人知的分類樹歸納算法,C4.5,就是這種程序(C4.5的源程序參見 http://www./Personal)。同時還出現(xiàn)了基于規(guī)則的學(xué)習(xí)算法,例如AQ和CN2。這些程序大多被用在醫(yī)療領(lǐng) 域,比如癌癥的診斷和預(yù)測。
這些程序一般并不包括數(shù)據(jù)抽樣等處理功能,用戶通常是使用一些腳本語言(例如Perl)來做這些事情。同時,一些研究團體還開發(fā)了程序庫(用于支持數(shù)據(jù)格式共享、建模評估和報表功能),例如MLC++,就是用C++編寫的機器學(xué)習(xí)程序庫。

命令行界面讓用戶很難對數(shù)據(jù)進行交互式分析,而且文本格式的輸出也不夠直觀。數(shù)據(jù)挖掘工具接下來的發(fā)展,就是內(nèi)置數(shù)據(jù)可視化并強化交互功能。在上世 紀九十年代中期,Silicon Graphics就收購了MLC++,并將其開發(fā)成為MineSet。MineSet幾乎可以稱為當時最全面的數(shù)據(jù)挖掘平臺。Clementine也是當 時非常流行的商用數(shù)據(jù)挖掘軟件,在界面易用性上非常突出。

現(xiàn)在的開源數(shù)據(jù)挖掘軟件,大多采用可視化編程的設(shè)計思路(IDMer:就是用圖形化的方法,來建立整個挖掘流程)。之所以這么做,是因為它能足夠靈活和易用,更適合缺乏計算機科學(xué)知識的用戶。

在分析軟件中,靈活性和可擴展性是非常重要的,它允許你可以開發(fā)和擴展新的挖掘算法。在這個方面,Weka(IDMer:它幾乎是開源數(shù)據(jù)挖掘軟件的代表)就 提供了文檔全面的Java函數(shù)和類庫,非常適合擴展。當然,您首先需要充分了解Weka的架構(gòu),并掌握Java編程技術(shù)。另一個很有名的開源軟件,R,則 采用了相對不同的思路。R提供了豐富的統(tǒng)計分析和數(shù)據(jù)挖掘功能,它的內(nèi)核是用C來實現(xiàn)的。但如果你想用R開發(fā)新的挖掘算法,那么你并不需要用C語言來開 發(fā),而是使用R軟件自有的腳本語言來開發(fā)。采用腳本語言的好處在于速度(IDMer:這里指的是開發(fā)新算法的時間會縮短,因為腳本語言相對來說更高級更簡單)、靈活(可以直接通過腳本調(diào)用挖掘軟件中復(fù)雜的功能函數(shù))、可擴展性(可以通過接口來調(diào)用其它數(shù)據(jù)挖掘軟件的功能)。當然,圖形化的界面更容易使用,但使用腳本語言來開發(fā)新算法則可以滿足一些特定分析需求。

開源數(shù)據(jù)挖掘工具箱-期望的功能
------------------------------

  • 提供一組基本的統(tǒng)計工具,用于對數(shù)據(jù)進行常規(guī)探索;
  • 多種數(shù)據(jù)可視化技術(shù),例如histograms, scatterplots, distribution charts, parallel coordinate visualizations, mosaic and sieve diagrams等等;
  • 標準的數(shù)據(jù)處理組件,包括querying from databases, case selection, feature ranking and subset selection, and feature discretization等等;
  • 無指導(dǎo)的數(shù)據(jù)分析技術(shù),比如principal component analysis, various clustering techniques, inference of association rules, and subgroup mining techniques等等;
  • 有指導(dǎo)的數(shù)據(jù)分析技術(shù),比如classification rules and trees, support vector machines, naive Bayesian classifiers, discriminant analysis等等;
  • 模型評估和評分工具,包括對結(jié)果的圖形化展示(比如ROC曲線和lift圖);
  • 推斷模型的可視化功能(IDMer:例如用樹狀結(jié)構(gòu)來顯示訓(xùn)練好的決策樹,用氣泡圖來顯示聚類,用網(wǎng)絡(luò)圖來顯示關(guān)聯(lián)等等);
  • 提供探索型數(shù)據(jù)分析環(huán)境
  • 可以把模型保存為標準格式(例如PMML),以便進行共享和移植
  • 提供報表功能,可以生成分析報告,并允許保存用戶的備注或說明

幾款優(yōu)秀的開源數(shù)據(jù)挖掘工具
--------------------------

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

R

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

Tanagra

Tanagra (http://eric./wricco/tanagra/) 是使用圖形界面的數(shù)據(jù)挖掘軟件,采用了類似Windows資源管理器中的樹狀結(jié)構(gòu)來組織分析組件。Tanagra缺乏高級的可視化能力,但它的強項是統(tǒng)計 分析,提供了眾多的有參和無參檢驗方法。同時它的特征選取方法也很多。

Weka

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



YALE
(IDMer:現(xiàn)在已經(jīng)更名為RapidMiner)

YALE (Yet Another Learning Environment, http://) 提供了圖形化界面,采用了類似Windows資源管理器中的樹狀結(jié)構(gòu)來組織分析組件,樹上每個節(jié)點表示不同的運算符(operator)。YALE中提供 了大量的運算符,包括數(shù)據(jù)處理、變換、探索、建模、評估等各個環(huán)節(jié)。YALE是用Java開發(fā)的,基于Weka來構(gòu)建,也就是說它可以調(diào)用Weka中的各 種分析組件。

KNIME

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

Orange

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

 


GGobi

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

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多