溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解python決策樹的基本原理

發(fā)布時間:2021-12-03 15:38:31 來源:億速云 閱讀:203 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)怎么理解python決策樹的基本原理,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

決策樹是一種非參數(shù)的監(jiān)督學(xué)習(xí)方法,它主要用于分類和回歸問題。

決策樹模型通過一系列if then決策規(guī)則的集合,將特征空間劃分成有限個不相交的子區(qū)域,對于落在相同子區(qū)域的樣本,決策樹模型給出相同的預(yù)測值。

這些if then決策規(guī)則之間的層次關(guān)系形成一個樹形結(jié)構(gòu),稱之為決策樹,這些不相交的子區(qū)域和樹結(jié)構(gòu)的葉子節(jié)點一一對應(yīng)。

怎么理解python決策樹的基本原理

一,決策樹原理概述

1,假設(shè)空間

下面從假設(shè)空間,目標(biāo)函數(shù),優(yōu)化算法3方面闡述決策樹算法的基本原理。

假設(shè)空間即我們對模型形式的先驗假設(shè),最終我們求得的模型必定符合我們對模型形式的先驗假設(shè)。

決策樹模型的先驗形式可以表述成如下:

怎么理解python決策樹的基本原理

其中q[x]是從特征空間映射到節(jié)點編號空間的函數(shù)。決策樹模型的關(guān)鍵是將特征空間劃分成不相交的子區(qū)域,落在相同子區(qū)域的樣本具有相同的預(yù)測值。

為了確定一棵決策樹的完備結(jié)構(gòu),要明確如下兩個方面:一是如何劃分子區(qū)域,二是子區(qū)域的預(yù)測值取多少。

2,目標(biāo)函數(shù)

目標(biāo)函數(shù)即我們用什么標(biāo)準(zhǔn)來評價一個模型的好壞。目標(biāo)函數(shù)決定了我們從假設(shè)空間中選擇模型的偏好。

怎么理解python決策樹的基本原理

決策樹的目標(biāo)函數(shù)可以用來評價一棵決策樹的好壞。這個目標(biāo)函數(shù)應(yīng)當(dāng)包括兩個方面的內(nèi)容。第一個是反應(yīng)決策樹對樣本數(shù)據(jù)點擬合準(zhǔn)確度的損失項,第二個是反應(yīng)決策樹模型復(fù)雜程度的正則化項。

正則化項可以取模型的葉子節(jié)點的數(shù)量。即決策樹模型劃分得到的不相交子區(qū)域越多,我們認(rèn)為模型越復(fù)雜。

對于損失項,如果是回歸問題,損失項可以取平方損失,如果是分類問題,我們可以用不純度來作為衡量標(biāo)準(zhǔn)。

為什么用不純度呢?由于決策樹的同一葉子節(jié)點上的所有樣本都取相同的預(yù)測值,如果這些樣本的真實 label 只有一種取值,那么這個葉子節(jié)點上的樣本是非?!凹儍簟钡?,我們可以直接指定預(yù)測值為這個葉子節(jié)點上 label 的取值,預(yù)測誤差為0。反之,如果葉子節(jié)點上不同樣本的 label 的取值很雜亂,所謂眾口難調(diào),那么無論我們?nèi)绾沃付ㄈ~子節(jié)點上的預(yù)測值,總會有較大的預(yù)測誤差。

那么,如何來衡量不純度呢?一般有3種方法,信息熵,基尼不純度,以及分類誤差率。分類誤差率即以 label 取值最多的那個類別作為葉子節(jié)點預(yù)測值時的誤差率。信息熵和基尼不純度我們稍后介紹。

3,優(yōu)化算法

優(yōu)化算法指的是通過什么樣的方式調(diào)整我們的模型結(jié)構(gòu)或模型超參數(shù)取值,使得模型的目標(biāo)函數(shù)取值不斷降低。

優(yōu)化算法決定了我們用什么樣的步驟在假設(shè)空間中尋找合適的模型。

對于決策樹而言,優(yōu)化算法包括樹的生成策略和樹的剪枝策略。

樹的生成策略一般采用貪心的思想不斷選擇特征對特征空間進行切分。

樹的剪枝策略一般分為預(yù)剪枝和后剪枝策略。一般來說后剪枝策略生成的決策樹效果較好,但其計算成本也更高。

二,ID3,C4.5,CART決策樹的對比

1,適用問題范圍的不同

ID3算法只能處理離散特征的分類問題,C4.5能夠處理離散特征和連續(xù)特征的分類問題,CART算法可以處理離散和連續(xù)特征的分類與回歸問題。

2,假設(shè)空間的不同

ID3和C4.5算法使用的決策樹可以是多分叉的,而CART算法的決策樹必須是二叉樹。

3,目標(biāo)函數(shù)的不同

同樣是處理分類問題時,在決定選擇哪個特征進行決策樹的分裂時,3個模型使用不同的判斷標(biāo)準(zhǔn)。ID3算法以信息增益作為標(biāo)準(zhǔn),C4.5算法以信息增益率作為標(biāo)準(zhǔn),而CART算法以基尼不純度增益作為標(biāo)準(zhǔn)。


4,優(yōu)化算法的不同

3種算法有不同的剪枝策略。

ID3算法實際上沒有剪枝策略,當(dāng)葉子節(jié)點上的樣本都屬于同一個類別或者所有特征都使用過了的情況下決策樹停止生長。

C4.5算法使用預(yù)剪枝策略,當(dāng)分裂后的增益小于給定閾值或者葉子上的樣本數(shù)量小于某個閾值或者葉子節(jié)點數(shù)量達到限定值或者樹的深度達到限定值,決策樹停止生長。

CART決策樹主要使用后剪枝策略。

5,效果上的差異

ID3決策樹是最早出現(xiàn)的決策樹,C4.5是在它基礎(chǔ)上的改進,CART決策樹是更晚出現(xiàn)的,效果上一般而言CART樹會好于C4.5,C4.5會好于ID3.

三,熵,條件熵,信息增益,信息增益率

1,熵

熵是對某個離散隨機變量不確定性大小的一種度量。既然是反應(yīng)不確定性的,我們的先驗知識是當(dāng)隨機變量只有一種取值時,熵為0,當(dāng)隨機變量的取值可能性越多,在各個可能性之間的概率分布越平均,熵越大。熵的計算公式滿足這些先驗的特性。注意,熵只能度量離散隨機變量的不確定性。

怎么理解python決策樹的基本原理


 

在決策樹的應(yīng)用場景中,我們實際上是用經(jīng)驗熵來衡量標(biāo)簽取值分布的“純度”的,即用頻率分布代替概率分布進行計算。

怎么理解python決策樹的基本原理

2,條件熵

所謂條件熵,是指給定隨機變量X的取值的前提下,隨機事件Y的不確定性的一種度量。

怎么理解python決策樹的基本原理

在決策樹的應(yīng)用場景中,條件熵的含義更加清晰明了,即按照離散特征X的取值將樣本空間劃分成多個葉子節(jié)點,各個葉子節(jié)點上樣本標(biāo)簽Y取值的熵不純度的加權(quán)平均。

3,信息增益

隨機變量X對于隨機變量Y的信息增益被定義成Y的熵和Y對X的條件熵之差。

怎么理解python決策樹的基本原理

在決策樹的應(yīng)用場景中,信息增益的含義就是特征X對樣本標(biāo)簽Y不確定性減少的貢獻。

信息增益也叫做互信息?;バ畔⒋嬖谌缦绿匦裕琘對X的互信息和X對Y的互信息是相等的?;バ畔⑹呛饬績蓚€離散隨機變量之前相關(guān)性的一種常用指標(biāo)。

怎么理解python決策樹的基本原理

簡單證明如下:

怎么理解python決策樹的基本原理

4,信息增益率

ID3模型采用信息增益作為待分裂特征的選擇標(biāo)準(zhǔn),但是信息增益傾向于選擇特征取值數(shù)量較多的特征。C4.5用信息增益率作為待分裂特征的選擇標(biāo)準(zhǔn),可以避免這種傾向。值得注意的是,C4.5在選擇連續(xù)特征的分裂點位的時候,依然使用信息增益作為選擇標(biāo)準(zhǔn)。

X對Y的信息增益率是X對Y的信息增益和X的熵的比值。

怎么理解python決策樹的基本原理

四,基尼不純度和基尼不純度增益

1,基尼不純度

基尼不純度和熵具有相似的作用,可以衡量一個隨機變量取值的不確定性或者說"不純凈"程度。它滿足我們的先驗預(yù)期,當(dāng)隨機變量只有一種可能取值的時候,基尼不純度為0,當(dāng)隨機變量的可能取值數(shù)量越多,取值概率分布越平均,基尼不純度越大。

基尼不純度的定義如下。

怎么理解python決策樹的基本原理

基尼不純度滿足我們對不確定性衡量指標(biāo)的先驗假設(shè)。事實上,基尼不純度和熵有非常密切的關(guān)系,把熵的對數(shù)部分泰勒展開到1階,即得到基尼不純度的定義公式。

怎么理解python決策樹的基本原理

2,基尼不純度增益

基尼不純度增益和信息增益的作用非常類似。計算方法也非常相似。

怎么理解python決策樹的基本原理

值得注意的是CART決策樹是二叉樹,在計算離散特征的基尼不純度增益時會嘗試根據(jù)特征是否取某個特定的類別把特征空間分成兩部分,而在計算連續(xù)特征的基尼不純度增益時會嘗試選擇一個分裂點位把特征空間分成兩部分。

以上就是怎么理解python決策樹的基本原理,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI