天天看點

【機器學習算法-python實作】決策樹-Decision tree(2) 決策樹的實作1.背景2.代碼實作部分3.源碼下載下傳

(二叉樹的圖是用python的matplotlib庫畫出來的)

資料集:

【機器學習算法-python實作】決策樹-Decision tree(2) 決策樹的實作1.背景2.代碼實作部分3.源碼下載下傳

決策樹:

【機器學習算法-python實作】決策樹-Decision tree(2) 決策樹的實作1.背景2.代碼實作部分3.源碼下載下傳

     因為上一節,我們通過chooseBestFeatureToSplit函數已經可以确定目前資料集中的資訊熵最大的那個特征值。我們将最大的那個作為決策樹的父節點,這樣遞歸下去就可以了。

主要函數:詳見注釋

列印出來的決策樹:{'throat': {0: {'mustache': {0: 'women', 1: 'man'}}, 1: 'man'}}

下面就是如何是用建立好的決策樹。我們建立函數

測驗:當我們輸入classify(mtree,['throat','mustache'],[0,0])時,顯示結果是women,表明沒有喉結和胡子是女人。