ID3 (Iterative Dichotomiser 3) 是決策樹經典算法,核心思想是用信息增益作為屬性選擇標準,採用貪心策略遞歸構建樹,使每個非葉節點獲得最大類別信息,將整體熵值降至最低。
衡量數據集純度。設目標屬性 C 有 m 種取值,比例分別為 P1...Pm,則:
Entropy(S) = - Σ (Pi * log2(Pi))
例:Weather 數據集 14 筆,Play=Yes 9 筆,No 5 筆。
Entropy = -(9/14*log2(9/14) + 5/14*log2(5/14)) ≈ 0.940
屬性 A 將數據集 S 分割為 k 個子集 Si,增益為:
Gain(S, A) = Entropy(S) - Σ (|Si|/|S| * Entropy(Si))
例:以 Wind 劃分 (Weak 8 筆,Strong 6 筆)。
Entropy(Weak)=0.811, Entropy(Strong)=1.0
Entropy_after = (8/14)*0.811 + (6/14)*1.0 ≈ 0.892
Gain = 0.940 - 0.892 = 0.048
Weather 例:Outlook 增益 0.246 最大 → 根節點。Sunny 分支下再算 Temperature/Humidity/Wind,Humidity 增益最大 → 子節點,最終得到完整決策樹。