決策樹基於時間的各個判斷條件,由各個節點組成,類似一顆樹從樹的頂端,然后分支,再分支,每個節點由響的因素組成
決策樹有兩個階段,構造和剪枝
構造: 構造的過程就是選擇什么屬性作為節點構造,通常有三種節點
1. 根節點:就是樹的最頂端,最開始那個節點 (選擇哪些屬性作為根節點)
2. 內部節點: 就是樹中間的那些節點 (選擇哪些屬性作為子節點)
3. 葉節點: 就是樹最底部的節點,也就是決策的結果(什么時候停止並得到目標狀態,葉節點)
剪枝: 實現不需要太多的判斷,同樣可以得到不錯的結果,防止過擬合現象發生
過擬合百度百科直觀了解一下(https://baike.baidu.com/item/%E8%BF%87%E6%8B%9F%E5%90%88/3359778)
簡單介紹就是為了得到一致假設而使假設變得過度嚴格稱為過擬合。
預剪枝是在決策樹構造前進行剪枝,在構造過程中對節點進行評估,如果某個節點的划分,在驗證集中不能帶來准確性的提升,划分則無意義當成葉節點不做划分
后剪枝是在生成決策樹后再進行剪枝,通常會從決策樹的葉節點開始,逐層向上對每個節點進行評估,減掉與保留差准確性差別不大,或者減掉改節點字數,能在驗證集中帶來准確性提升,就可以剪枝。
信息熵: 表示了信息的不確定度,下面是計算公式,信息熵越大純度越低
當不確定性越大,包含的信息量就越大,信息熵就越高

(log 函數圖像也可以理解 ,下面函數0到1 之間對應的是概率,當概率接近1的時候,說明純度很高(概率),縱坐標值很小,
信息熵很小,當概率接近0的時候,純度很低,信息熵就很大了,注意,這里是負值,公式前面也有個負號,然后合並就為正)

信息增益:ID3 算法 指划分可以帶來純度的提高,信息熵的下降,父節點的信息熵減去所有子節點的信息熵,計算過程中,會計算子節點歸一化的信息熵 下面是計算公式

公式中D是父親節點,Di 是子節點,Gain(D,a) 中的a作為D節點的屬性選擇
歸一化子節點的信息熵,就是公式中的Di/D 信息增益最大可以作為父親節點,再重復進行判斷到最后得出
C4.5算法
1 采用信息增益率 信息增益率 = 信息增益/屬性熵 信息增益的同事,屬性熵也會變大
2 采用悲觀剪枝 ID3 中容易產生過擬合現象, 這個方法可以提升決策樹的泛華能力,屬於后剪枝的一種,比較剪枝前后這個節點的分類錯誤率來覺得是否對其進行剪枝
3 離散化處理連續屬性 C4.5可以處理連續屬性的情況,對連續屬性進行離散化處理,就是對值進行計算,而不是分為幾等分(高,中,底) C4.5 選擇具有最高信息增益的划分所對應的閾值
4 處理缺失值 C4.5 也可以處理,假如數據集存在較少的缺失值, 對子節點歸一化計算信息增益,然后計算信息增益率,由於有對應的缺失值,所以信息增益率*占權比重,(比如7個數據,少了一個*6/7)所以在屬性確實的情況下也可以計算信息增益
ID3和C4.5比較, ID3算法簡單,確定是對噪聲敏感,少量錯誤會產生決策樹的錯誤,C4.5 進行了改進,長上面可以看出,但是C4.5 需要對數據集進行多次掃描,算法效率相對較低

