決策樹學習筆記

2021-09-16 21:52:09 字數 2900 閱讀 5405

模型----監督學習中的分類演算法

決策樹演算法的思路:

利用樹的結構,將資料集中的特徵(屬性)劃分為樹中的分支節點

資料集中類別標籤對應樹的葉節點。

構建決策樹的三要素:

1.特徵選擇----資訊熵或資訊增益gini係數來選擇特徵

2.決策樹的生成---id3演算法(資訊增益) c4.5演算法(gini係數)

3.決策樹的剪枝---針對決策樹產生過擬合

---兩種剪枝方式:先剪枝、後剪枝

資訊熵:資訊的不確定性度量,熵越大不確定性越大,通常每種可能性相同的時候,熵最大的

結論:在構建決策樹的過程中,希望選擇資訊熵比較小的,因為資訊熵小對應的資訊純度越高

資訊的不確定性越小,確定性越大

決策樹建樹方法:

第一種方法:基於規則的就建樹

1.明確是哪個屬性或特徵是根節點或葉子節點----根據順序選取

2.隨機選擇根節點的特徵或葉子結點的特徵

3.得到葉子結點的特徵

第二種建樹的方法:基於資訊熵和資訊增益建立決策樹

資訊熵:對資訊的不確定性度量

如果每一事件發生的概率都相等(均勻分布),此時熵最大

熵最大,不確定性越大,確定性越小,資訊純度越低

熵越小,不確定性越小,確定性越大,資訊純度越高

如何根據熵建立一顆決策樹?

---選擇熵比較小的特徵或者屬性作為分支節點

---原因:因為熵小,資訊純度越高

---定義:事件的不確定性應該是單個取值的不確定性的期望 ,也叫作資訊熵,即

上述若對數的底數取值為 2,就是平常所說的資訊單位 bit(位元)

id3演算法:

資訊增益=總體的資訊熵-以某乙個特徵作為劃分標準的資訊熵

計算公式:gain(a)=i(parent)-h(a)

總體資訊熵不會改變的

目的:選擇特徵或屬性進行節點劃分

選取方式:選擇資訊增益比較大的作為分支節點

作用:通過節點來劃分樹結構獲取資訊量

例:gain(age)>gian(income)>gain(***)

選擇方式:優先選擇年齡、收入、性別

演算法原理:

輸入:資料集

輸出:決策樹

演算法:1.計算資訊增益,選擇資訊增益比較大的特徵作為當前的劃分節點

2.在已有的特徵集合中去掉已經選擇過的特徵

3.繼續在剩餘的節點中計算資訊增益比較大的,作為下乙個劃分節點

4.直到所有的節點都劃分為葉子節點

注意:計算資訊增益時候,將所有特徵或屬性的資訊增益計算出來了,只需要排序和選擇就可以。

迭代建樹的停止條件:

1.給定節點所有的樣本屬於同乙個類別

2.沒有剩餘的屬性用於劃分,只需要通過多數表決的方法決定剩餘節點

3.給定乙個資訊增益的閾值,通過該閾值判斷是否迭代停止

給定迭代次數:在python的sklearn中下屬三種情況都是引數,可以動態調整

max_depth 樹的深度

min_sample_leaf根據葉子結點所包含的元素個數決定是否迭代停止

min_sample_split根據分支節點含有的樣本數決定是否迭代停止

c4.5演算法:

在id3演算法的基礎上增加了資訊增益率作為劃分節點的依據

優勢:規避掉資訊增益比較大或小的時候會傾向於屬性多的情形

對連續值處理非常好的

對決策樹通過剪枝減小複雜度(過擬合)

能夠對不完整資料進行處理

cart樹演算法:選擇劃分的節點是根據gini係數劃分

在python的sklearn中預設使用gini係數作為劃分的準則

屬於一種貪心演算法

決策樹演算法極易產生過擬合的情況:

解決辦法:剪枝技術

分類技術:先剪枝(預剪枝)和後剪枝

為什麼需要進行剪枝?

答:決策樹很容易產生過擬合,需要進行剪枝降低決策樹的複雜程度

根據剪枝前後的分類誤差率的變化決定是否進行剪枝

先剪枝:

實際生產中比較常見的一種手段。

在建立決策樹的過程中進行剪枝

通過選擇不同的資訊不純度的閾值(資訊增益)

(1)如果閾值設定的過大,容易產生欠擬合(決策樹沒有生產完全)

(2)如果閾值設定的過小,容易產生過擬合(近似於未剪枝技術)

選取的過程更多的是靠經驗

後剪枝:

決策樹已經形成之後,進行剪枝的一種技術

如果乙個節點能夠替換一顆子樹,根據分類的誤差率時候減少來進行評判

通過充分生長的一棵樹中自底向上的進行樹的剪枝

(1)用新的葉子結點替換原來的子樹

新的葉子節點的類別根據資料集中少數服從多數的原則選取

(2)用子樹中最常見的分支節點代替子樹

**如何評判剪枝效果?mep最小錯誤率剪枝技術

**選擇子樹或節點的時候,需要產生若干顆子樹或節點計算所有子樹或節點的錯誤率,從中選擇錯誤率較小的那個量

兩種剪枝技術如何選擇?

現在工業界中通常選擇先剪枝技術,計算複雜度較小,容易實現

在理論上如果模型的泛化效能好的話,建議採用後剪枝技術,但是會帶來複雜度的提公升

決策樹的特點:

優點:直觀、便於理解

執行效率高,執行一次可以多次使用

缺點:對連續值處理不好(cart樹中提供了二分的方法)

實際分類中往往只能處理乙個字段

決策樹學習筆記

一 什麼是決策樹 決策樹是一種基於規則的方法,它用一組巢狀的規則進行 在樹的每個決策節點處,根據判斷結果進入乙個分之,反覆執行這種操作直到到達葉子節點,得到 結果。這些規則是通過訓練得到的,而不是認為設定的。規則是每一次 時的閥值。二 樹形成決策的過程 為便於用程式實現,一般將決策樹設計成二叉樹。與...

決策樹學習筆記

決策樹是一種有監督機器學習方法。熵 entropy 是表示隨機變數不確定性的度量。設x是乙個取有限個值的離散隨機變數,其概率分布為 則其隨機變數的資訊熵為 熵越大,則隨機變數的不確定性越大。決策樹的目的就是讓資訊熵越來越小,分類則越來越明確。資訊增益表示得知特徵a的資訊而使得總樣本d的資訊的不確定性...

決策樹學習筆記

熵是表示隨機變數不確定性的度量,越小越好 資訊增益 表示特徵x使得類y的不確定性減少的程度。先計算y的熵值為原始熵值,再計算 增益 原始熵值 id3 資訊增益 id熵值小,增益大,但是對結果的影響基本沒有 c4.5 資訊增益率 解決id3,考慮自身熵 cart 使用gini係數來當做衡量標準 gin...