在機器學習的領域當中,有著各式各樣的演算法,但往往為了要使用這些演算法,會需要透過寫程式的方式來去使用這些方法,雖然現在統計軟體(例如: R、Python)在呼叫這些演算法所下的指令不是說非常的長,有些時候甚至相當簡單的指令就能使用需要的演算法,但對於沒有寫程式經驗的機器學習初學者來說,還是有一定的進入障礙。所幸還是有一些不需要寫程式的機器學習工具可以使用,例如Weka,筆者第一次接觸Weka是在大學上資料探勘課程的時候,筆者大學的時候機器學習還沒有像現在那麼多課程跟工具可用(應該距今至少十年吧),因此Weka這個工具可以發展那麼久都還沒有停止更新,想必有其過人之處,因此筆者想介紹Weka給機器學習的初學者們。
Weka是紐西蘭懷卡托大學機器學習實驗室專為「學習資料探勘」所開發的Java軟體,Weka是懷卡托智慧分析系統的縮寫。Weka限制在GNU通用官方證書的條件下發佈(開源工具),幾乎可以運行在所有作業系統平台上,包括Linux、Windows、Mac OS等。Weka包含完整的資料探勘處理流程,包含(1)資料前處理工具、(2)機器學習演算法、(3)成效評估方法、(4)資訊視覺化報表摘要,最大的優點在於兼具圖像化的使用介面以及寫指令的介面,因此不管是不懂寫程式的初學者以及老手都可以充分做使用,此外,Weka也可以持續擴充新的演算法,因此不用擔心不支援主流的演算法。目前下載最新版本的Weka是3.8.6版,以下的操作就已最新版本做示範。
首先,讀者可以直接去以下連結(https://waikato.github.io/weka-wiki/downloading_weka/)下載最新的版本,可根據使用者的作業系統去下載安裝,安裝的流程很簡單,基本上就是一直按Next跟Agree就裝好了,安裝的過程應該不到一分鐘,安裝完成後,找到電腦中的Weka,選擇下方左圖的Weka 3.8.6,另一個Weka 3.8.6 (with console)則是終端機的版本,可以直接透過程式的方式去使用Weka,筆者考慮不是所有人都會寫程式,因此直接以Weka 3.8.6的圖像化界面做介紹。
Weka的另一個特色在於支援探索器(Explorer)、實驗器(Experimenter)、知識流(Knowledge Flow)、以及指令模式(Simple CLI)等不同的使用方式。探索器(Explorer)是Weka主要的圖形化操作界面(如下圖右),使用者可以利用選單選取和特定表單的形式,學習各種機器學習的操作。實驗器則可以用於安排大規模、長時間的大量建模任務。知識流則可以將Weka的各個元件組合成一連串的操作,並以管線(Pipeline)的形式呈現,透過管線的視覺化呈現,使用者可以明確看到資料的讀取、建模、測試與評估、以及最後的視覺化報表呈現,而指令模式可以配合Java程式來實作圖形化介面無法完成的功能。
點選Explorer後,會進入Explorer視窗,如下圖左方所示,大致可分為三大區塊,1 是資料前處理的工具選擇,2 是資料變項屬性(attributes)的總覽,3是變項的分佈情形。筆者點選左上方的 Open file 來輸入要分析的資料,在 Weka 的資料夾中有一些範例資料(一般會放置在C槽,C:\Program Files\Weka-3-8-6\data),儲存在 data 資料夾中,這邊我們打開 breast-cancer.arff,我們可以透過選擇左方的 attribute 來觀察不同的屬性及資料的狀況,age是一個類別變項,Weka會去統計每一個年齡層的個數顯示在右上方的 Selected attribute block 中,右下方則是一個簡單的交叉分析圖,透過選擇左邊的 attribute 以及右下方選單的 class ,我們可以看到兩個 attribute 的比例分佈狀況,筆者這邊class選擇age,然後按下Visualize All,就會顯示不同年齡層在其他變項的分布情形,可以作為分析前的一個視覺化初勘資料的方式。
上述是關於Weka以及使用介面的簡單介紹,筆者之後會再針對如何在Weka實際分析作介紹以及示範。
參考資料:
- 不用寫程式的機器學習工具 / No-Code Machine Learning Tools: https://blog.pulipuli.info/2022/03/nocode-machine-learning-tools.html
- Weka官網: https://www.cs.waikato.ac.nz/ml/weka/
留言列表