Weka (Waikato Environment for Knowledge Analysis),是一套提供 data mining 以及 machine learning 各種工具的一套軟體,包括資料前置處理工具、分類工具、回歸分析等,也能將資料以視覺畫的方式呈現。
這套軟體由來自 The University of Waikato 的開發者以 Java 語言寫成,軟體本身除了 open source 之外還以 GNU License 發行。
Weka 這個名字其實也指那隻鳥,貌似是紐西蘭特有種 XD
由於 Weka 實在是太強大了,包含了很多細細小小的功能,這篇只會就稍微講講 Weka 的樣子,他們的開發團隊有拍攝一系列的教學影片,我把連結放在最下面了,如果想要更深入的了解 Weka 可以去看看。
Weka 的使用方式有兩種,一種是直接使用他的 GUI 界面來操作,另外還可以透過呼叫 Weka 提供的 library ,在自己的 code 裏使用其功能。
可以到這裡下載:http://www.cs.waikato.ac.nz/ml/weka/downloading.html
下載完安裝打開,點選 Explorer 就可以開始使用(這邊只講 Explorer ,其他的我還沒用過 Orz)。
Explorer 打開後界面就長這樣,我們可以點選左上方的 Open file 來輸入要分析的資料,在 Weka 的資料夾中有一些範例資料,儲存在 data 資料夾中,這邊我們打開 data/weather.numeric.arff
Explorer 的界面主要分成三個區塊,1 是調整前處理工具的地方,2 則是 attributes 的總覽,3 則可以看到 instances 的分佈情形。
1 是我們可以選擇資料前處理工具的地方,點選 Choose 後可以看到 Weka 提供了許許多多資料前處理的工具,當你不知道某個工具是做什麼用的時,只要把指標滑上去就會看到說明。
我們可以透過選擇左方的 attribute 來觀察不同的屬性及資料的狀況:
temperature 是數量資料(numeric),Weka 會自動幫我們計算資料的最小最大值、平均值以及標準差,顯示在右上的 Selected attribute block 中,右下則是一個簡單的交叉分析圖,透過選擇左邊的 attribute 以及右下方選單的 class ,我們可以看到兩個 attribute 的比例分佈狀況,按下 Visualize All 則顯示所有的交叉分析圖:
(我個人覺得這個圖有點閱讀困難就是了...)
這邊介紹分類分析的界面,包含了四個區塊,1 分類方法的選擇、2 測試資料的調整、3 結果清單,每次分析的結果會記錄下來,以及 4 分類的結果輸出。
跟前置處理很像,我們可以從區塊 1 選擇一些分類的工具:
這邊我們就不介紹區塊 2 Test options 裡的詳細內容了,在他的教學影片裡有更多的介紹,我們就直接以預設的設定點選左下的 Start,接著右邊就會出現這次分析的結果:
分析的結果依據不同的分析方法會長得不太一樣,另外想要讀懂到底結果想表達什麼,就需要額外的努力了...
由於這個 J48 分析是一種決策樹(decision tree)的分析,Weka 還可以把這棵樹顯示給你看,只要在 3 Result list 的地方,對想要顯示的結果點選右鍵選擇 Visualize tree 即可(還有一些其他的選項,有空可以玩玩看)。
好吧大概就介紹到這邊,這邊只有稍微講一下 Weka 的使用,想要應用 Weka 在實際的問題上,只能靠努力啃書跟教學影片啊...
https://weka.waikato.ac.nz/explorer
https://www.youtube.com/user/WekaMOOC
https://www.youtube.com/user/rushdishams
[1] http://www.cs.waikato.ac.nz/ml/weka/