決策樹是一個很好理解的算法,其精髓在于:
- 1、熵 Entropy:Entropy = ?∑i? (p?i??) log?2? (p?i?);
- 2、信息增益 Information Gain:增加節(jié)點后,系統(tǒng)熵減的程度。
說到最底層,DT的學(xué)習(xí)策略是,找到使得熵盡量小的:
- 1、變量;
- 2、變量分割點。
比如,現(xiàn)有如下數(shù)據(jù)集——天氣、溫度、濕度和風(fēng)力等為Feature,出不出去打球為Label。用決策樹來預(yù)測的話:
數(shù)據(jù)集范例
決策樹的形式類似于“如果天氣怎么樣,去玩;否則,怎么著怎么著”的樹形分叉。那么問題是:
1、用哪個Feature(即變量,如天氣、溫度、濕度和風(fēng)力)最適合充當這顆樹的根節(jié)點;
2、根節(jié)點之后,還要選多少個后續(xù)節(jié)點。
解決根節(jié)點問題,可按下圖所示:
信息增益的計算
最后按照信息增益最大的原則選Outlook為根節(jié)點。子節(jié)點重復(fù)上面的步驟。
至于要選幾個節(jié)點,可以自行在代碼里設(shè)置精度。但要注意Decision Tree容易出現(xiàn)過擬合的問題。