第四章 採用資料探勘之快速運動估測演算法
4.1 資料探勘技術
資料探勘之技術主要分為三部分:群集分析(cluster analysis)、屬性特徵 (attribute relation)和決策樹(decision tree),群集分析是將一大筆數據,根據相似度 分類成幾個同性質的群集,接著依照群集之間的相互關係,推算出屬性的特徵和 分布趨勢,最後建立對於此大筆數據的決策樹。決策樹的結構顧名思義是以樹狀 結構來劃分,包含了深度(depth)、節點(nodes)和樹葉(leaves)的結構,其中,每個 節點皆為分類的測試條件,相同於程式語言中的 if-else 的選擇性結構,藉由測試 結果將資料分類到枝幹(branch),接著繼續往下一個節點的測試條件…依此方式 繼續分類,最後可獲得決策之結果。
4.1.1 機器學習工具
使用資料探勘的技術,收集每一筆數據後,透過機器學習的方式,可以有效 的分析各數據的屬性特徵,建立出一個合適的決策樹。藉由 WEKA (waikato environment for knowledge analysis)之軟體工具[9],可以提供資料探勘所需的機器 學習工具,WEKA 是一個免費的軟體,同時也是開放原始碼(open source)的資料 探勘工具,提供了許多機器學習演算法(machine learning algorithms)和工具,能對 於將被探索的數據進行預先處理,像是資料探勘中的數據分群、群集分析與可視 覺化的數據分析。
4.1.2 ARFF 檔案格式
WEKA 專用之輸入的檔案格式為屬性關係文件格式 (attribute-relation file format: ARFF),如圖 4.1 所示,ARFF 檔案內容包含 3 個部分,第一個部分(紫色 方框)為統計資料具有屬性關係(relation)的檔案標題;第二部分(藍色方框)根據不 同屬性,依序排列並宣告屬性名稱,且包含之後每一行和每一列原始數據的屬性 值,其中,屬性的資料類型如 NUMERIC 為數字型,其內容只能是實數或整數。
在建立決策樹的情況下,第二部分的最後一行為最後分類之結果,而此類別變數 為標稱型屬性,只能在兩類中取一個,故成為二元(binary)的分類,第三部分(粉 色方框)為根據第二部分所有的屬性,依序對應之屬性的數據。使用資料探勘之 機器學習工具 WEKA 進行分析數據,必須先提取出個屬性的數據,將其改寫成 ARFF 之檔案格式後,才能透過 WEKA 的機器學習演算法,建立出適合的決策 樹。
圖 4.1、WEKA 專用格式(ARFF)示意圖
4.1.3 透過 C4.5 演算法建立決策樹之方法
WEKA 所提供的多種機器學習演算法中,包含了 C4.5 演算法[10],最常使 用在建立決策樹方面,最主要的優點是形象直觀易懂。C4.5 機器學習演算法是基 於資訊理論中的熵編碼,將各種屬性所發生的情況(situation),先透過資料增益 (information gain)計算各種屬性對於最後結果的獲益率,再透過屬性的分裂資訊 (split information)調整資訊增益,最後算出資訊增益率(gain ratio)。資料增益率由 以下五個公式來計算:
(4.3) 訊增益率為 0.44,Temp 之資訊增益率為 0.019,Humidity 之資訊增益率為 0.152,
Wind 之資訊增益率為 0.0497,最後以資訊增益率最大的屬性作為分裂節點,由 𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦𝐴(𝑆)
天氣狀況之屬性所計算的資料增益率中,最大者為 Outlook,故屬性 Outlook 為 決策樹最初的分裂節點,如圖 4.2
所示,Outlook 有三種發生情況,所以在 Outlook 之分裂節點下會有三個分支,
分別為 Sunny、Overcast、Rain,接著依序使用上述方式計算出資訊增益率,即可 建立出完整的決策樹。
表 4.1、C4.5 演算法之範例介紹表
圖 4.2、C4.5 演算法如何建立決策樹之示意圖