C4 5決策樹演算法思想

2021-07-27 12:13:50 字數 1909 閱讀 8825

前幾天有小夥伴問到這個演算法,於是想總結一下好了,畢竟是乙個如此著名的演算法,這裡就重在思想啦~建議配合實際例子學習。

參考:1)周志華:《機器學習

》; 2)

決策樹(decision tree)是在已知各種情況發生概率的基礎上,通過構成決策樹來評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種**法。其是一種監管學習,所謂監管學習就是給定一堆樣本,每個樣本都有一組屬性和乙個類別,這些類別是事先確定的,那麼通過學習得到乙個分類器,這個分類器能夠對新出現的物件給出正確的分類。以二分類任務為例,決策樹演算法希望從給定訓練資料集學得乙個模型,用以對新的示例進行分類,可以看作是「當前樣本屬於正樣本嗎」問題的「決策」過程。

決策樹是一種樹形結構,其中每個內部節點表示乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉節點代表一種類別。

在網上找到的以下決策樹示意圖中,我來假設決策樹的背景環境,左邊圖通過某一類人

為了通過大量資料,完成乙個類似上圖的決策樹,就通過決策樹演算法實現。比較著名的決策樹演算法有id3,c4.5,cart決策樹等,其中,icdm於2023年底評選資料探勘十大經典演算法,c4.5(分類決策樹)居首,在這裡講一下c4.5決策樹演算法的主要思想。

決策樹演算法需要解決的兩個主要問題:

1)先選擇哪個屬性,後選擇哪個屬性來進行**?2)什麼時候樹停止生長?

這裡,c4.5演算法是這樣解決的:

1)用資訊增益率來選擇

屬性**;

2)構造樹的過程中進行剪枝操作降低過擬合風險。下面分別介紹。

即選擇最優劃分屬性,一般對著劃分過程的不斷進行,即希望決策樹的分支節點所包含的樣本盡可能屬於同一類,即節點的「純度」越來越高。

這裡引出「資訊熵」的概念。「熵」是對混亂程度的度量,越亂熵越大,是乙個度量樣本集合純度最常用的指標。劃分節點處到底用哪個屬性的時候,希望節點處屬性純度大,也就是熵更小。資訊熵的計算公式如下:

用劃分前(父節點)的不純度和劃分後(子女節點)的不純度的差來來衡量屬性**的測試結果,該指標成為資訊增益,也就是熵的差,計算公式如下:

一般而言,資訊增益越來,意味著用該屬性進行劃分所獲得的「純度提公升」越大,因此可以作為劃分屬性的選擇。id3決策樹即採用資訊增益為準則選擇劃分屬性。

但是實際上,資訊增益對可取值數目較多的屬性有所偏好,為減少這種不利,c4.5決策樹演算法產生,其將資訊增益替換成增益率,來選擇最優劃分屬性,其公式如下:

剪枝處理通過主動去掉一些分支來降低決策樹分支太多,來防止訓練樣本學習地太好(過擬合,把訓練集自身的一些特點當做所有資料都具有的一般特性)的發生。在c4.5演算法中,採用了悲觀剪枝(pep演算法)的方法,使用訓練集生成決策樹,又用訓練集來進行剪枝。

悲觀剪枝主要通過遞迴估算每個內部節點所覆蓋樣本節點的誤判率,然後假設需要進行剪枝操作,則剪枝後該內部節點會變成乙個葉子節點,該葉子節點的類別為原內部節點的最優葉子節點所決定。計算比較剪枝前後該節點的錯誤率來決定是否進行剪枝。

決策樹 C4 5演算法

c4.5演算法是用於生成決策樹的的一種經典演算法,是id3演算法的一種延伸和優化。改進了點 1 通過資訊增益率選擇 屬性,克服了id3演算法中通過資訊增益傾向於選擇擁有多個屬性值的屬性作為 屬性的不足 2 能夠處理離散型和連續型的屬性型別,即將連續型的屬性進行離散化處理 3 構造決策樹之後進行剪枝操...

決策樹之C4 5演算法

c4.5演算法是機器學習中的乙個重要的決策樹演算法,它是對id3演算法的改進,相對於id3演算法主要有以下幾個改進 1 用資訊增益率來選擇屬性 2 在決策樹的構造過程中對樹進行剪枝 3 對非離散資料也能處理 4 能夠對不完整資料進行處理 接下來分別詳細講述這幾點的改進方案 1 用資訊增益率來選擇屬性...

決策樹之C4 5演算法

1.採用資訊增益率 因為 id3 在計算的時候,傾向於選擇取值多的屬性。為了避免這個問題,c4.5 採用資訊增益率的方式來選擇屬性。資訊增益率 資訊增益 屬性熵,具體的計算公式這裡省略。當屬性有很多值的時候,相當於被劃分成了許多份,雖然資訊增益變大了,但是對於 c4.5 來說,屬性熵也會變大,所以整...