我的書櫃

2013年1月22日 星期二

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了。

沒有留言:

張貼留言