決策樹01 決策樹的原理

2021-08-01 21:35:31 字數 2219 閱讀 6779

此筆記根據《machine learning in action》和周志華教授的《機器學習》所作。

缺點:可能會產生過度匹配問題。

適用資料型別:數值型和標稱型

《machine learning in action》:

if so return 類標籤;

else

尋找劃分資料集的最好特徵

劃分資料集

建立分支節點

for每個劃分的子集

呼叫函式createbranch並增加返回結果到分支節點中

return 分支節點

上面的偽**createbranch是乙個遞迴函式,在倒數第二行呼叫了它自己。

《機器學習》:

收集資料:可以使用任何方法。

準備資料:樹構造演算法只適用於標稱型資料(標稱型目標變數的結果只在有限目標集中取值,如真與假[標稱型目標變數主要用於分類]),因此數值型資料必須離散化。

分析資料:可以使用任何方法,構造書完成之後,我們應該檢查圖形是否符合預期。

訓練演算法:構造樹的資料結構。

測試演算法:使用經驗樹計算錯誤率。

決策樹的變數可以有兩種:

數字型(numeric):變數型別是整數或浮點數,如「年收入」。用「>=」,「>」,「

名稱型(nominal):類似程式語言中的列舉型別,變數只能重有限的選項中選取,比如「婚姻情況」,只能是「單身」,「已婚」或「離婚」。使用「=」來分割。

一些決策樹演算法採用二分法劃分資料,本文並不採用這種方法,而採用id3演算法。

參考prml:

熵的含義:

考慮乙個集合,包含n個完全相同的物體,這些物體要被分到m個箱子裡,使得第i個箱子中有ni

個物體。考慮把物體分配到箱子中的不同方案的數量,有n種方式選擇第乙個物體,有(n-1)種方式選擇第二個物體,以此類推。因此總共有n!種方式把n個物體分配到箱子中(也可以如此考慮:將n個物體先進行全排列,然後選前n1

個放入第1個箱子,選前n2

個放入第2個箱子,依次類推,則放入箱子的方案有n!種)。然而,我們並不想區分每個箱子內部物體的排列。所以上述的方案數量需要除以每個箱子內部排列的數量,即在第i個箱子中,有ni

! 種方案對物體進行全排列,因此,把n個箱子分配到箱子中的總方案數量為:

這被稱為乘數。

熵被定義為通過適當的引數放縮後的對數乘數,即

在下面的推導中,將會用到stirling公式的估計:

熵的推導:

決策樹演算法中比較有代表性的是id3[quinlan,1979,1986],c4.5[quinlan,1993]和cart[breiman et al.,1984]

維基百科解釋:

id3是以「資訊增益」為準則來選擇劃分屬性的。

c4.5演算法主要以「資訊率」來選擇最優劃分屬性。

cart決策樹是以「基尼指數」為準則來選擇劃分屬性。此演算法不僅可用於分類還可以用於回歸。

決策樹原理

目錄 決策樹基本知識 id3 與c4.5 cart 應用 1.我們遇到的選擇都是根據以往的選擇判斷,如果把判斷背後的邏輯整理成乙個結構圖,會是乙個樹狀圖,就是決策樹的本質.2.決策樹的階段 構造與剪枝 構造 選擇什麼屬性作為結點 1 根節點 樹的頂端 2 內部節點 中間節點 3 葉節點 決策節點 剪...

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...