【機器學習筆記】Decision Trees(決策樹)

內容概述


 

通俗地講,決策樹提出一個問題,然後根據回答者的答案將回答者區分

決策樹圖中,最上面的只有指出箭頭的結點稱爲“根結點”,中間既有指入又有指出的結點稱爲“內部結點”,下方只有指入箭頭的綠色結點稱爲“葉結點”。

 

那麼決策樹應該如何建立呢?

在下面的例子中,我們打算通過Chest Pain、Good Blood Circulation和Blocked Arteries來預測一名患者是否得心臟疾病

因此,我們需要在三個特徵中選擇一個作爲根結點。

 

根結點該如何選擇?

選擇與心臟疾病最相關的特徵。

依次對比每個特徵列與結果列的每一行數值,作出每個特徵的樹狀圖。

比如,某個患者得了Chest Pain,那我們就沿True路徑往下走,如果該患者還得了心臟疾病,那麼葉結點中的Yes+1,否則No+1。如此類推.....

 

作出每個特徵的樹狀圖後,通過算法計算出每個特徵與心臟疾病的相關性。

注意:因爲沒有一個特徵樹的葉結點是百分百Yes或者No,所以它們都被認爲是不純的(impure)

 

我們將使用“Gini(基尼)”來比較它們誰更不純。

(說法有點怪怪的///)

1. 通過Figure 1中的算式來算出兩個葉結點的Gini不純係數;

2. 通過Figure 2中的算式來算出根結點(即某個特徵)的Gini不純係數(不純係數越低越好);

這種算法在後面還會用到。

Figure 1:

Figure 2:

 

將根結點確定下來後,確定後續結點同樣需要使用Gini不純係數,並確保每個結點的不純係數取最小值。

 

上述例子中只使用了布爾值(True or Flase),增加數值後又該如何建立決策樹呢?

第一步:對數值進行排序;

第二步:計算每個相鄰數值間的平均值;

第三步:計算每個平均值的Gini不純係數;

 

增加選項值後,應該如何計算它的Gini不純係數?

——計算所有選項組合的不純係數。

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