機器學習實戰(9)—— 決策樹原理部分

今天我們來學習決策樹算法。

我們統計了 14 天的氣象數據 (指標包括 outlook,temperature,humidity,windy),並已知這些天氣是否打球 (play)。如果給出新一天的氣象指標數據如: sunny,cool,high,TRUE,判斷一下會不會去打球

預備知識:信息熵

熵是無序性(或不確定性)的度量指標。假如事件 A 的全概率劃分是:(A1,A2,...,An),每部分發生的概率是 (p1,p2,...,pn),那信息熵定義爲:

訓練數據集中共有 14 個實例,其中有 9 個實例屬於 yes 類(適合打網球的),5 個實例屬於 no 類(不適合打網球)

打高爾夫(play)信息熵爲:

做某事幾率爲 0 或者 1 則信息熵爲 0,做某事幾率爲 0.5 時,系統最混亂

決策的過程就是降低系統混亂程度的過程,也就是降低熵的過程。需要考慮其他狀況(變量)的影響。

根據天氣是否去打高爾夫:

= 0.694

信息增益:考慮某因素(例如天氣)後,所減少的熵值

決策樹是一棵倒立的樹,從根節點不斷分裂,直到達到葉節點。而我們做分裂時,考慮每次取到最大信息增益的因素作爲分裂標準。

圖中,針對 sunny 中的子訓練數據集分支,有兩個類別,該分支中有 3 個實例屬於 no 類,有 2 個實例屬於 yes 類,求類別屬性新的信息熵。

再分別求 3 個非類別屬性的信息熵,同時求出各屬性的信息增益,選出信息增益最大的屬性 Humidity。

就這樣不斷計算信息熵和信息增益即可得到決策樹,這就是基礎的決策樹算法原理!你學會了麼?

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/4qUAjThuj4VN6MaGYg1XGg