決策樹示例

愛時尚瘋了的豬發表於2021-01-16

一.演算法
決策樹在優化過程中,有3個經典的演算法,分別是ID3,C4.5,和CART。後面的演算法都是基於前面演算法的一些不足進行改進的,這裡用ID3演算法。

二. 一個案例
大家可能賴床過,早上要不要賴床是一個問題。它取決於多個變數,下面就讓我們看看小明的賴床習慣。

季節 時間是否過8點 風力情況 要不要賴床
春天 微風
冬天 無風
秋天 微風
冬天 無風
夏天 微風
冬天 微風
冬天 大風
冬天 無風
春天 無風 不要
夏天 大風 不要
夏天 大風 不要
秋天 微風 不要

我們隨機抽了一年中12天小明的賴床情況。現在我們可以根據這些資料來構建一顆決策樹。可以發現,資料中有三個屬性會影響到最終的結果,分別是,季節,時間是否過8點,風力情況。

要構建一顆決策樹,首先我們要找到它的根,我們需要計算每一個屬性的資訊熵。
從資料我們可以知道,12天中,有賴床為8天,不賴床為4天。
p(賴床)=8/12
p(不賴床)=4/12
分裂前的熵值為:(保留三位小數)

這次我把風力情況作為分支屬性的分裂情況

“風力情況”中的“微風情況”中有4個正例,1個反例子,其熵值為:

相關文章