天天看點

WEKA 資料挖掘可視化分析平台

利用WEKA編寫資料挖掘算法  

 WEKA是由紐西蘭懷卡托大學開發的開源項目。WEKA是由JAVA編寫的,并且限制在GNU通用公衆證書的條件下釋出,可以運作在所有的作業系統中。WEKA工作平台包含能處理所有标準資料挖掘問題的方法:回歸、分類、聚類、關聯規則挖掘以及屬性選擇。作為資料挖掘愛好者自然要對WEKA的源代碼進行分析并以及改進,努力寫出自己的資料挖掘算法。下面着重介紹一下如何利用WEKA編寫新的資料挖掘算法: 注意:WEKA的版本有兩個版本:穩定版(STABLE)和開發版(DEVELOP),不同WEKA版本與不同JDK的版本比對,穩定版WEKA3-4的與JDK1.4.2比對,而開發版WEKA3-5與JDK1.5比對,WEKA3-5新加入了對資料庫的資料連接配接。穩定版直接下載下傳weka-src.jar檔案就行了,而開發版需使用CVS連接配接到sourceForge下載下傳,:pserver:[email protected]:/usr/local/global-cvs/ml_cvs。本文以穩定版為例。 一、首先從WEKA官方網站(http://www.cs.waikato.ac.nz/ml/weka)下載下傳WEKA程式包。将程式包解壓獲得weka-src.jar源檔案,再将源代碼解壓縮導入某個JAVA開發工具中(圖1),如:JBuilder,Eclipse,Netbeans等。我現在以Netbeans為例。

  Weka--最著名的資料挖掘開源項目 收藏

WEKA( developed at the University of Waikato in New Zealand 紐西蘭懷卡托大學)http://www.cs.waikato.ac.nz/~ml/weka/index.html

與此開源項目對應的書為《Data Mining Practical Machine Learning Tools and Techniques Second Edition 》,該書下載下傳位址http://www.itpub.net/showthread.php?s=&threadid=731436,另外本書已有中文版《資料挖掘,實用機器學習技術》。

如果想研究裡面算法的具體實作,可以用Eclipse調試。見http://weka.sourceforge.net/wiki/index.php/Eclipse_3.0.x

Weka 3: Data Mining Software in Java

Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.

Weka 3:開源的資料挖掘軟體(Java)

Weka 是實施資料挖掘任務所需的各種機器學習算法的合集。這些算法既可以直接應用到某資料集上,也可以在你自己設計的Java程式調用它們。Weka 包含了下列工具:資料預處理,分類,回歸,聚類,關聯規則,以及可視化。另外也可以在Weka 的基礎上開發新的機器學習。

Weka主要緻力于classifier and filter algorithms。

以下轉載自http://blog.donews.com/carouter/archive/2005/07/11/462134.aspx

資料挖掘終于可以和煩人的代碼們說再見了! Weka,一個不足兩歲的新生兒,讓資料挖掘輕松易行,無需程式設計也能輕松搞定。

   Weka是基于java,用于資料挖掘和知識分析一個平台。來自世界各地的java愛好者們都可以把自己的算法放在這個平台上,然後從海量資料中發掘其背後隐藏的種種關系;也許你隻是出于對資料的狂熱愛好,但也許你的發現會蘊含着無限的商機。

  打開Weka,首先出現一個指令行視窗。原以為要在這個指令行下寫java語句呢,不過稍等一秒,Weka GUIChooser的出現了。這是一個很簡單的窗體,提供四個按鈕:SimpleCLI、Explorer、Experimenter、KnowledgeFlow。SimpleCLI應該是一個使用指令行的界面,有點像SAS的編輯器;Explorer是則是視窗模式下的資料挖掘工具;Experimenter和KnowledgeFlow的使用有待進一步摸索....

   先打開WekaExlporer感受一下它的強大吧。它有六個标簽頁,分别是Preprocess、Classify、Cluster、Associate、Selectattributes、Visualize。在Preprocess中Open一個資料檔案(Weka使用的資料檔案是.arff,其實是一個文本資料集,格式并不複雜,用notepad打開一看就明白了)。當然也可以Open URL或Open DB,不過我沒有check一下支援哪些DB。

  打開資料檔案後,可以使用Filter進行一下過濾,相當于“預處理的預處理”。Filter提供了許多算法來過濾資料,比如filters/unsupervised/instance/normalize應該是一個标準化的算法。當然,也可以編寫你自己的算法!

   這時窗體上已經給出這個資料集的一些基本特征了,比如有多少屬性,各屬性的一些簡單統計量,右下方還給出一些可視化效果比如柱狀圖。通過這些可以初步了解這個資料集了。但這些都是很直覺的可以看出來,好戲在後頭,隐藏的關系即将登場。

   接下來的兩個标簽頁是classify(分類)和cluster(聚類),接觸資料挖掘的人對它們一定不會陌生。同樣Weka有許多分類和聚類算法可供選擇,在這裡面稱為clasifier和clusterer。不過Weka提供的classify功能似乎還不夠靈活,隻能定長度和定頻率地分類。但這個關系不大,現在很多資料處理軟體都可以做到這個,比如excel。Cluster功能強大,提供了許多巧妙的聚類算法,標明一個算法,給出你所需要生成的聚類數目,就可以自動完成。當然如果能不給出聚類數目也能自動聚類的話就更佳了,不過我還沒發現怎麼做。

    Next,終于到偉大的Associate了! 這是一個用于發掘AssociateRules(關聯規則)的子產品。對商學略有涉獵的人一定熟知沃爾瑪發現了啤酒和尿布銷售的關系這一佳話。有了WekaAssociate,任何一家超市都可以做到這一點了。将前面導入的資料使用Associator進行發掘,就可以發現其中無數隐藏的關系。Weka-3-4提供了Apriori、PredictiveApriori、Tertius三種關聯規則發掘算法,不過我感覺這已經夠用了。標明一個算法,進行一些必要的設定,包括支援度上界、下界,每次運算的支援度遞減值,等等。另外一個重要的參數:所需要生成的關聯規則個數。太不可思議了,以前我們能從海量資料中發現一個關聯規則就已經沾沾自喜,現在Weka居然問你想生成多少關聯規則!

    參數設定完成,點Start,就可以去喝茶了。不一會,10條關聯規則已經生成,可以送出給老闆了。當然,你還可以分析一下哪些規則比較有用,哪一條有潛在收益,這就需要business sense了。

    另外兩個标簽頁還沒怎麼看。Selectattributes大概是針對單屬性的分析?Visualize則提供了許多可視化效果,需要拿出去示範時很友善。不過今天使用感覺這個子產品的功能有點問題,沒太搞懂。也有可能是我用錯了。

   Weka實在是一個偉大的工具。基于java,卻沒有運作其它java程式那種慢吞吞的感覺。前天我還在說Data Mining isexcruciating but interesting,有了Weka,Data Mining也可以輕輕松松了!

出處:http://blog.csdn.net/wwweducn/archive/2006/12/17/1447215.aspx

http://blog.chinaunix.net/u1/34560/showart_269880.html