• 沒有找到結果。

第二章 文獻回顧

第二節 資料探勘(Data Mining)

四、 ID3 演算法(Iterative Dichotomiser 3)

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

22

VIII. 決策樹(decision tree)

決策樹演算法將資料透過分類判斷而建立成一個樹狀的模型。透過這 種樹狀結構可以清楚地表達資訊的結構和相互關係。因為其清楚的結構和 呈現常常可以提供很明確的分析,決策樹也成為了最受歡迎的資料探勘技 術之一。而常見的決策樹演算法有 ID3,C4.5,CART 等。

三、決策樹演算法(Decision Tree)

決策樹演算法會將資料建構成樹狀的資料結構,將相同的,藉此分析出資料 之間互相的關聯特性,其產出的結構十分易懂及視覺化,在各個領域都廣泛被使 用。在決策樹演算法中 ID3 (Iterative Dichotomiser 3)和 C4.5 為普遍被使用的決策 樹演算法,ID3 是由 Quinlan 於 1986 提出的[17][18],C4.5 則是在 1993 提出。在 本研究當中,由於樹狀的結構可以最清楚的表現出使用者喜歡的體驗類型以及使 用者喜歡的新聞類別的關聯式關係,因此本研究決定使用以決策樹為基礎之演算 法---ID3 決策樹演算法對資料集進行分析。

四、ID3 演算法(Iterative Dichotomiser 3)

ID3 演算法為決策樹演算法的一種,決策樹演算法有許多種類,其主要差別 是在於用何種理論決定分類屬性的判斷。ID3 演算法在建構決策樹時,計算資訊 獲利(Informational Gain)來決定分類屬性的判斷依據。本研究會首先介紹 ID3 演 算法演算法所使用的資訊獲利,接下來依序介紹 ID3 決策樹架構、ID3 演算法的 建構。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

23

I. 資訊獲利

美國數學家 Claude Shannon 於 1948 年 10 月發表的 A mathematical Theory of Communication 提出了透過計算熵(Entropy)來進行資訊的量化。

而在 ID3 決策樹演算法中將經過處理後的熵值和經過處理前的熵值相減,

得到的數值稱為資訊獲利,ID3 演算法會比較各項資訊獲利的數值來決定 該進行何種操作。

Claude Shannon 提出的熵值的計算方法,假設所有事件 𝑥 的集合為 A,而事件 𝑥 發生的機率為𝑃(𝑥),而該資訊的熵值 E(c)為 A 中所有事件 𝑥 的發生機率 P(x)乘上log2𝑃(𝑥)的總和負值(式 1)。

E(c) = − ∑

𝑥∈A

𝑃(𝑥) log

2

𝑃(𝑥) (1)

而資訊獲利 Information_gain 的計算方法是將經過處理前的資訊熵值 Entropy_before 減去經過處理後的資訊熵值 Entropy_after(式 2)

Information_gain = Entropy_before − Entropy_after (2)

II. ID3 決策樹架構

ID3 演算法會建立一個決策樹分類模型,此決策樹的是透過遞迴 (Recursive)和分治法(Divide-and-conquer)建立的,其架構是由上而下(Top-down)的樹狀結構(圖 4),詳細介紹如下:

1. 根節點:在決策樹的建構過程中,一開始所有的資料都儲存於 根節點中,在建立決策樹的過程當中會將資料分配到不同的節點。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

24

2. 分支線:表示節點資訊的分枝路徑

3. 子節點:為根結點以下的之節點,亦可稱為內部節點

4. 葉節點:決策樹演算法進行至最後所停止之節點,在每個葉節 點當中之資料具有類似的特徵。

A

B C

D E F G

根節點 分支線

子節點

葉節點

圖 4、決策樹架構

III. ID3 決策樹演算法運算流程:

本研究將所有的資料樣本集合以 T 來表示,若一共有 n 筆樣本資料,

則 T = (𝑇1, … , 𝑇𝑛)。每一筆樣本資料皆有一組特徵屬性,我們將其表示為 F

= (𝐹1, … , 𝐹𝑛),每個特徵屬性有兩個特徵值 f = (𝑓1, 𝑓2)。在執行 ID3 決策樹 演算法時,會選定一項特徵屬性𝐹𝑛作為目標屬性 C,目標屬性 C 會有 n 個 特徵值 c = (𝑐1, … 𝑐𝑛),除了目標屬性之外其餘的特徵屬性則為關鍵屬性。

以下為 ID3 決策樹執行步驟:

Step1: 起初,所有資料物件皆屬於根節點 A。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

25

Step2: 分析目前節點中所有資料物件的目標屬性 C,若目標屬性 C 的特徵值 c 皆相同則停止運算,若非全部相同,則繼續進行 步驟 3。

Step3: 若尚有關鍵屬性未被選取則進行步驟 4;倘若所有關鍵屬性 皆被選取過,則計算節點中各關鍵屬性的類別出現次數,並 選擇最多出現次數之關鍵屬性類別作為該節點之類別。

Step4: 計算目前節點 k 之熵值 E(k),並計算所有尚未選擇過的關鍵

屬性 F 之資訊獲利值Information_gain,比較所有關鍵屬性 之資訊獲利值Information_gain選取具有最大資訊獲利值之 關鍵屬性 F,依據關鍵屬性的特徵值 f 將該節點的資料樣本 分入兩個子節點。

Step5: 對 Step4 所產生的兩個子節點,從 Step2 開始重新執行。