ID3 決策樹算法僞代碼及註解

算法:Generate_decision_tree(samples, attribute)。由給定的訓練數據產生一棵判定樹。

輸入:訓練樣本samples,由離散值屬性表示;候選屬性的集合attribute_list

輸出:一棵判定樹。

方法:

Generate_decision_tree(samples, attribute_list)

(1) 創建結點 N

(2) if samples 都在同一個類C then   //類標號屬性的值均爲C,其候選屬性值不考慮

(3) return N 作爲葉結點,以類C 標記;

(4) if attribut_list 爲空 then      

(5) return N 作爲葉結點,標記爲 samples 中最普通的類; //類標號屬性值數量最大的那個

(6) 選擇attribute_list 中具有最高信息增益的屬性best_attribute//找出最好的劃分屬性

(7) 標記結點 N best_attribute

(8) for each best_attribute 中的未知值a i //將樣本samples按照best_attribute進行劃分

(9) 由結點 N 長出一個條件爲 best_attribute = a i 的分枝;

(10) si samples best_attribute = a i 的樣本的集合;//a partition

(11) if si 爲空 then

(12) 加上一個樹葉,標記爲 samples 中最普通的類;//從樣本中找出類標號數量最多的,作爲此節點的標記

(13) else 加上一個由 Generate_decision_tree(si,attribute_listbest_attribute)返回的結點;//對數據子集si,遞歸調用,此時候選屬性已刪除best_attribute

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章