2008年3月11日 星期二

Weka簡單入門教學

加入書籤: HemiDemi MyShare Baidu Google Bookmarks Yahoo! My Web Del.icio.us Digg technorati furl

首先簡單介紹一下weka,Weka是基於java,用於數據挖掘和知識分析一個平台。來自世界各地的java愛好者們都可以把自己的算法放在這個平台上,然後從海量數據中發掘其背後隱藏的種種關係;開發並投入使用兩年左右的時間,但是已經是很多人受益,特別是擺脫了繁重的海量數據。

1。安裝

我安裝的是weka-3-4-10jre,雖然有3。5的版本,但是我們一般校園使用已經足夠。安裝方法很簡單,並且繼承了java 運行環境,不用擔心任何配置。版本據說提供了function接口,並且支持反編譯。用戶可用性以及擴展性很強。

2。操作環境

安裝完成,運行weka圖標(那只火鳥,也是weka名稱的由來),出現一個小型的GUI,提供了四種操作環境:CLI,Explorer,Experimenter,knowledgeflow。

其實四種操作基本原理都大同小異,只是提供的environment不一樣。看自己平時熟悉使用什麼,比如喜歡直接用代碼的朋友一定熱衷於:CLI,喜歡圖標的傾情於:Knowledgeflow,通常功能形控制的:explorer,experimenter感覺和explorer類似,致使支持格式不一樣。

3.一般我們重點使用explorer:

打開後,我們可以看到頂層的六個標籤,分別是:Preprocess、Classify、Cluster、Associate、 Select attributes、Visualize。在preprocess裡面有個open控件,是用來打開sourcefile的,weka支持的文檔格式為.arff,其實是一個文本數據集。也支持URL或者DB打開方式,並且支持數據轉換。

打開數據文件後,可以使用Filter進行一下過濾,相當於「預處理的預處理」。Filter提供了許多算法來過濾數據,比如 filters/unsupervised/instance/normalize應該是一個標準化的算法。當然,也可以編寫你自己的算法!
這時窗體上已經給出這個數據集的一些基本特徵了,比如有多少屬性,各屬性的一些簡單統計量,右下方還給出一些可視化效果比如柱狀圖。通過這些可以初步瞭解這個數據集了。

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

4。Associate!

這是一個用於發掘Associate Rules(關聯規則)的模塊。

將前面導入的數據使用Associator進行發掘,就可以發現其中無數隱藏的關係。Weka-3 -4提供了Apriori、PredictiveApriori、Tertius三種關聯規則發掘算法,不過我感覺這已經夠用了。選定一個算法,進行一些必要的設置,包括支持度上界、下界,每次運算的支持度遞減值,等等。另外一個重要的參數:所需要生成的關聯規則個數。太不可思議了,以前我們能從海量數據中發現一個關聯規則就已經沾沾自喜,現在Weka居然問你想生成多少關聯規則!
參數設置完成,點Start,就可以去喝茶了。不一會,10條關聯規則已經生成,可以提交給老闆了。當然,你還可以分析一下哪些規則比較有用,哪一條有潛在收益,這就需要business sense了。
另外兩個標籤頁還沒怎麼看。Select attributes大概是針對單屬性的分析?Visualize則提供了許多可視化效果,需要拿出去演示時很方便。也有可能是我用錯了。
Weka實在是一個偉大的工具。基於java,卻沒有運行其它java程序那種慢吞吞的感覺。也不排除我剛加了一個內存的關係。有了Weka,Data Mining也可以輕輕鬆鬆了!

3.55繁中使用手冊(pdf)

原文出處:http://huangbo929.blog.edu.cn/user2/huangbo929/archives/2007/1882432.shtml 內容只由簡體文轉成繁體文,無添加任何字句

沒有留言:

EasyReadMore