決策樹原理與常用方式

2021-10-07 18:13:00 字數 1894 閱讀 1692

說到樹,可能第一時間就會想到——回歸,是的,決策樹就是依靠一次次的回歸從而是實現分類。另外決策樹由如下優點:計算複雜度不高,輸出結果易於理解,對中間值的缺失不敏感,可以處理不相關特徵資料。

(1)

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

(2)

準備資料:樹構造演算法只適用於標稱型資料,因此數值型資料必須離散化。

(3)

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

(4)

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

(5)

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

(6)

使用演算法

在構造決策樹時,我們需要解決的第乙個問題就是,當前資料集上哪個特徵在劃分資料分類時起決定性作用。為了找到決定性的徵,劃分出最好的結果,就必須先評估每個特徵。完成測試之後,原始資料集就被劃分為幾個資料子集。這些資料子集會分布在第乙個決策點的所有分支,如果某個分支下的資料屬於同一型別,則當前已經正確地劃分資料分類,無需進一步對資料集進行分割。如果資料子集內的資料不屬於同一型別,則需要重複劃分資料子集的過程。如何劃分資料子集的演算法和劃分原始資料集的方法相同,直到所有具有相同型別的數據均在乙個資料子集內。

建立分支的偽**函式如下所示:

檢測資料集中的每個子項是否屬於同一分類: 

if so return 類標籤

else

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

劃分資料集

建立分支節點

for 每個劃分的子集

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

return 分支節點

另外劃分資料的方法通常有:二分法、id3演算法、c4.5演算法等,下面主要介紹id3與c4.5演算法。

其中,id3 演算法是建立在奧卡姆剃刀(用較少的東西,同樣可以做好事情)的基礎上,越是小型的決策樹越優於大的決策樹,id3 演算法的核心思想就是以資訊增益來度量特徵選擇,選擇資訊增益最大的特徵進行**。演算法採用自頂向下的貪婪搜尋遍歷可能的決策樹空間。

id3實現步驟為

當然了,id3演算法也有相應的缺點:

c4.5 相對於 id3 的缺點對應有以下改進方式:

剪枝策略: 過擬合的樹在泛化能力的表現非常差,而剪枝策略則可以在一定程度上避免過擬合。

預剪枝: 在節點劃分前來確定是否繼續增長,及早停止增長的主要方法有:

預剪枝不僅可以降低過擬合的風險而且還可以減少訓練時間,但另一方面它是基於「貪心」策略,會帶來欠擬合風險。

後剪枝: 在已經生成的決策樹上進行剪枝,從而得到簡化版的剪枝決策樹。

c4.5 採用的悲觀剪枝方法,用遞迴的方式從低往上針對每乙個非葉子節點,評估用乙個最佳葉子節點去代替這課子樹是否有益。如果剪枝後與剪枝前相比其 錯誤率是保持或者下降,則這棵子樹就可以被替換掉。c4.5 通過訓練資料集上的錯誤分類數量來估算未知樣本上的錯誤率。

後剪枝決策樹的欠擬合風險很小,泛化效能往往優於預剪枝決策樹。但同時其訓練時間會大的多。

c4.5的缺點

剪枝策略可以再優化;

c4.5 用的是多叉樹,用二叉樹效率更高;

c4.5 只能用於分類;

c4.5 使用的熵模型擁有大量耗時的對數運算,連續值還有排序運算;

c4.5 在構造樹的過程中,對數值屬性值需要按照其大小進行排序,從中選擇乙個分割點,所以只適合於能夠駐留於記憶體的資料集,當訓練集大得無法在記憶體容納時,程式無法執行。

決策樹原理

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

決策樹01 決策樹的原理

此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...

決策樹原理與python實現

決策樹 decision tree 是一種分類與回歸方法。在分類過程中可以理解為基於特徵對例項進行分類,也可以認為是if else的集合,也可以認為是定義在特徵空間與類空間上的條件概率分布。決策樹學習過程通常包括三個步驟 1 特徵選擇 2 決策樹的生成 3 決策樹的剪枝。決策樹常用演算法有id3 i...