決策樹算法原理


//2019.08.17
#決策樹算法
1、決策樹算法是一種非參數的決策算法,它根據數據的不同特征進行多層次的分類和判斷,最終決策出所需要預測的結果。它既可以解決分類算法,也可以解決回歸問題,具有很好的解釋能力。

圖 原理圖
2、對於決策樹的構建方法具有多種出發點,它具有多種構建方式,如何構建決策樹的出發點主要在於決策樹每一個決策點上需要在哪些維度上進行划分以及在這些維度的哪些閾值節點做划分等細節問題。


3、信息熵entropy是決策樹構建過程中最為常見的一種構建方式,熵在信息論中的含義是隨機變量的不確定度,熵越大,不確定性越大,越不確定,熵越小,表示不確定度越小,越確定。



4、信息熵的划分方式總體原則是不斷地使得整體的決策系統的熵值越來越小,使得系統越來越確定的方向發展。


5、基尼系數gini是決策樹划分的另外一種方式,它和信息熵的原理是類似的,隨着基尼系數的增大,整體的隨機性在不斷地增大。


6、對於基尼系數和信息熵的決策樹划分方式,其效果一般情況下都是大致相同的,只是信息熵的計算方式比起基尼系數要慢一些,sklearn中默認選用的是基尼系數。因此,對於決策樹的決策方式信息熵和基尼系數這個超參數對於模型的好壞並沒有太大的影響。


7、CART的決策樹形式既可以解決回歸問題,也可以解決分類問題,它的思想是以數據的摸一個維度以及該維度下的閾值來進行分類和計算,它的整體數據結構是二叉樹的形式。

8、決策樹的訓練復雜度比較高,訓練過程比較復雜,時間較長,另外作為一種非參數決策算法,它很容易出現過擬合的現象。因此,我們需要對於決策樹的算法進行剪枝,從而降低模型的復雜度,並且可以比較好的避免過擬合的現象。
9、決策樹的主要超參數有max_depth(最大深度2-4),min_samples_split(繼續拆分樹時最小划分的樣本總數,越小越容易過擬合,也不能太大,10左右),min_samples_leaf(最小葉子節點所必須的樣本數,最小為1,越小越容易過擬合,6),max_leaf_nodes(最多拆分的節點數,越多越復雜,越容易過擬合,4)

 10、決策樹的局限性:作為一種非參數的機器學習算法,它的決策邊界總是平行於坐標軸的,這是由於算法的原理造成的,這個特點也造成了決策樹決策邊界的局限性——只能是平行於特征軸的超平面,而不能與坐標軸產生一定的的夾角(傾斜超平面),這會使得訓練數據邊緣之后的數據因為決策邊界划分的原因而產生很大的誤差。另外,鑒於它是一種非參數學習算法,因此它對一些個別數據還是比較敏感的,這會很大程度影響模型訓練的好壞。

 

決策樹的決策邊界

 

實際數據的划分邊界

當數據分布由水平旋轉一定的角之后,決策樹的決策邊界由豎直不能轉變為傾斜的斜線,而只能變為鋸齒線,並且在數據的左右兩邊決策邊界由於訓練數據量少的原因,形成了平行於x軸的決策邊界,而這會造成很大的數據預測誤差(因為兩邊數據可能是以斜線划分)。

 

因為刪除了訓練數據集x的一個樣本數據,造成了決策樹決策邊界非常大的變化。(非參數學習算法對於個別數據的高敏感性)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM