決策樹

決策樹知識總結:

決策樹的根節點到葉節點的每一條路徑構建一條規則,路徑上內部節點的特徵對應着規則的條件,葉節點的類對應着規則的結論。每一個示例都可以被一條路徑或一條規則所覆蓋。本質上來講,決策樹就是根據訓練數據集得到的條件概率模型,這個條件概率分佈是定義在對特徵空間的一個劃分上,特徵空間被劃分成爲了互不相交的區域。

決策樹是定義在特徵空間與類空間上的條件概率分佈,決策樹實際上是將特徵空間劃分成了互不相交的單元,每個從根到葉的路徑對應着一個單元。決策樹所表示的條件概率分佈由各個單元給定條件下類的條件概率分佈組成。

決策樹的學習本質上就是從訓練數據集中歸納出一組分類規則,使它與訓練數據矛盾較小的同時具有較強的泛華能力。

優勢:

  • 模型具有可解釋性,容易向業務部門人員描述。
  • 分類速度快

ID3算法:

(1)判斷該節點下是否都爲同一類,若都爲同一類,則不再進行劃分,將該類別作爲該節點的類別,return tree

(2)判斷屬性集是否爲空,若爲空,則不再進行劃分,將數據集中比例最高的類別作爲該節點的類別,return tree

(3)對屬性集中的所有屬性計算信息增益,選取信息增益最大的屬性,判斷他的信息增益是否大於預設的閾值,若小於,則 不再進行劃分,將數據集中比例最高的類別作爲該節點的類別,return tree;

(4)若大於,則選取該屬性作爲新的劃分屬性,該屬性有多少個取值,則劃分多少個子節點出來,取每一個子節點內佔比最高的類別數作爲該子節點的類別,return tree

(5)對第i個子節點,以該路徑下的數據作爲訓練集,以剔除了上面劃分屬性的特徵作爲特徵集,遞歸調用前4步,得到子樹

ID3算法以信息增益作爲特徵選擇標準,以特徵的取值個數作爲子節點的劃分標準(所以不一定是二叉樹)

樹的停止劃分標準:某節點下都是同一類別、最大信息增益的值小於閾值、特徵全部劃分完畢、到達事先設定的深度、子節點下的樣本個數小於預定閾值

C4.5算法的流程與ID3是一樣的,只不過將特徵選擇的方法修改爲了信息增益比。

這裏要記住的是信息增益、信息熵、條件熵的概念

信息熵:代表了隨機變量的不確定程度 根據該隨機變量的分佈進行計算的 大小在0到n*log(n)之間

條件熵:在隨機變量X的條件下,隨機變量Y的不確定程度 也就是根據x的取值分佈對H(Y|xi)進行了一個加權求和

信息增益:數據集的信息熵減去基於某個屬性的條件熵就是該屬性的信息增益,信息增益代表了基於該屬性對數據集進行分類的不確定性的減少程度。因此信息增益越大越好。

信息增益比:使用該屬性的信息增益處以該屬性的信息熵(信息增益比是由於,使用屬性的取值越多,該屬性的信息增益就越大,信息增益比可以對該問題進行校正。爲什麼能夠校正:因爲該屬性的信息熵代表了該屬性的不穩定性信息,因此用信息熵做除數可以消除屬性取值過多對信息增益產生的影響)

 

與上述兩個劃分方法不同的是CART決策樹

CART決策樹是二叉樹結構,每次對一個特徵進行劃分後,該特徵也不會從屬性集中刪除,而是可以再之後針對該屬性繼續進行劃分。CART決策樹可以分爲迴歸樹和分類樹兩大類。迴歸樹採用最小二乘迴歸的方法來挑選屬性和屬性值,分類樹採用基尼指數的方法選擇屬性和屬性的劃分取值。

迴歸樹算法流程

(1)遍歷每一個屬性,針對這個屬性遍歷屬性的每一個取值,當以這個取值作爲劃分節點的話(左子樹爲該屬性小於該取值的樣本,右子樹爲該屬性大於該取值的樣本),則該節點的值即爲子樹下的樣本label的均值,根據該節點的值與樣本的實際取值計算均方誤差的值,也就得到了該屬性的該取值的誤差。我們再所有屬性的所有取值中尋找誤差最小的哪一個。

(2)針對左右子樹,繼續執行上述步驟 直到到達停止條件

分類樹算法流程

(1)遍歷每一個屬性,針對這個屬性的每一個取值進行遍歷,計算當以這個取值作爲劃分節點的話(左子樹爲該屬性等於該取值的樣本,右子樹爲該屬性不等於該取值的樣本),訓練集的基尼係數。在所有屬性的所有取值中尋找基尼係數最小的屬性和屬性取值。

(2)遞歸調用上述步驟,直到滿足停止條件(到達一定深度、沒有可以劃分的屬性、該子節點下全爲某一類別、子節點下的樣本個數小於預定的閾值)

基尼係數的計算方法:

樣本集的基尼係數:1-(pi^2的求和)

基於某屬性的某個取值的樣本集的基尼係數:該取值在該屬性的概率*在該屬性上取該取值的樣本集的基尼係數+該屬性不等於該取值的概率*在該屬性上不取該取值的樣本集的基尼係數

注意:基尼係數的計算是根據取該屬性的某值和不取該屬性的某值來計算的。其實和迴歸樹的區別一個在於(1)迴歸樹的劃分是<=某值和>某值,分類樹的劃分是取該值和不取該值(2)迴歸樹的取值計算方法是基於最小二乘的 分類樹是基於基尼係數

 

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