決策樹算法梳理

1. 信息論基礎(熵 聯合熵 條件熵 信息增益 基尼不純度)

信息熵:
熵原本是一個熱力學的用詞,在信息論中熵代表對隨機變量不確定性的度量。對一組數據來說,熵越大,數據的不確定性越高,熵越小,數據的不確定性越低。
信息熵的公式如下:
在這裏插入圖片描述
Pi: 在這裏Pi指的是,在一個系統中,可能會有k類信息,每類信息所佔的比例(注意這裏是比例,不是概率,因爲這個訓練集中類別信息是確定的),就叫做Pi;
負號的解釋:因爲Pi本身都是小於1的,那麼log(Pi)就是小於1的,爲了抵消負號的影響,因此需要在其前面加上負號。
我們拿一個特例來解釋信息熵,假如有5個類別,若干個數值,數值的分類比例可以表示爲:{1,0,0,0,0},這種情況下的信息熵就爲:H=-1.log(1)=0,熵達到最小值,即其不確定性最低,確定性最高,因爲它每個樣本都屬於第一類。
那麼現在我們就可以知道,決策樹中如何劃分的基本方向,就是經過劃分之後使得信息熵降低,即數據的確定性變高,劃分出來的信息熵,是所有其他劃分方法中得到的信息熵的最小值,得到的這個劃分的維度及維度下的閾值,即構建了決策樹。

聯合熵,條件熵,信息增益:
瞭解了信息熵後,其聯合熵,條件熵,我認爲其可以認爲是在具體數據分佈形式上的不同所引起的不同的計算方式,比如如果第一類和第二類相關,就可以用條件熵來表示。信息增益,我認爲其是爲了補全熵的精確度的一種更精確的方式。

基尼係數:
和信息熵一樣,相當於是另一種指標來指導決策樹的劃分,其式子表示爲:
在這裏插入圖片描述
其表示的意義和信息熵相同,基尼係數越大,數據的不確定性越高,基尼係數越小,數據的不確定性越低。

對於基尼係數和信息熵,其實它們都可以認爲是劃分依據中的超參數,通過式子的對比,信息熵的計算比基尼係數稍慢,而scikit-learn中默認劃分的參數爲基尼係數,但大多數情況下,這個超參數的選擇沒有太大的區別,得到的結果非常相似,對模型的影響非常小,而對模型影響大的,就是接下來介紹的分類算法超參數。

2.決策樹的不同分類算法(ID3算法、C4.5、CART分類樹)的原理及應用場景

         ID3算法:只能處理離散型屬性,並且對傾向於選擇取值較多的屬性,只用於分類任務。

         C4.5算法:可以處理離散型屬性,也可以處理連續型屬性,只用於分類任務。

         CART算法:可以處理離散型屬性,也可以處理連續型屬性,可以用於分類也可以用於迴歸。

3. 迴歸樹原理

依然是創建一顆樹,分類樹是根據樹上節點的判斷原則,會落入到葉子節點表示的分類中,而回歸問題是預測一個具體的數值,那麼可以把最終落入到分類中所有數據的值的平均數,作爲迴歸的預測值。
在這裏插入圖片描述

4. 決策樹防止過擬合手段

  • 決策樹深度max_depth參數;
  • min_samples_split參數:表示對於一個節點來說,至少要有多少個樣本數據,纔可以對這個節點繼續拆分,其越高越不容易過擬合;
  • min_samples_leaf參數:表示對於葉子節點來說,至少應該有幾個樣本;
  • 剪枝

5. 模型評估

參考:分類模型評估

6. sklearn參數詳解,Python繪製決策樹

參考:
https://blog.csdn.net/weixin_37537818/article/details/86704758?from=groupmessage
https://blog.csdn.net/qq_29027865/article/details/86710772

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