機器學習 分類之決策樹原理及實戰

2021-09-11 17:06:56 字數 872 閱讀 3784

決策樹的決策過程一般需要從決策樹的根節點開始,將待測資料與決策樹中的特徵節點進行比較,並按照比較結果選擇下乙個比較分支,直到葉子節點作為最終的決策結果。決策樹除了用於分類外,還可以用於回歸和**。分類樹對離散變數做決策樹,回歸樹對連續變數做決策樹。

決策樹學習

當然,作為機器學習的經典演算法,決策樹有其優缺點。

優點缺點簡單易懂,原理清晰,視覺化方便。

決策樹有時候是不穩定的,因為資料微小的變動,可能生成完全不同的決策樹。

決策樹演算法的時間複雜度(**資料)是用於訓練決策樹的資料點的對數。

有些問題學習起來非常難,因為決策樹很難表達,如異或問題、奇偶校驗或多路復用器問題。

能夠處理數值和分類資料。

如果有些因素佔據支配地位,決策樹是有偏差的。因此建議在擬合決策樹之前先平衡資料的影響因子。

可以通過統計學檢驗驗證模型。這使得模型的可靠性計算變得可能。

對連續性的字段比較難**。

能夠處理多路輸出問題。

最優決策樹的構建屬於np問題。

即使模型假設違反產生資料的真實模型,表現效能依舊很好。

決策樹分類

不難發現,在構建決策樹的過程中,要尋找劃分資料集的最好特徵。例如,乙個資料集有10個特徵,每次選取哪乙個作為劃分依據呢?這就必須採用量化的方法來進行判斷,量化劃分方法有很多,其中一項就是「資訊理論度量資訊分類」,即使無序的資料變得有序。

基於資訊理論的決策樹演算法包括id3、c4.5、cart等,這裡不做具體介紹。其中涉及到了資訊熵和資訊增益的計算概念,可以查閱相關資料。

scikit-learn決策樹演算法類庫

決策樹視覺化

方法二

實戰**實現

補充說明

機器學習實戰之決策樹

1.熵 entropy h s 用來測量乙個資料集s的不確定程度。h s x x p x log2 p x s 待計算熵的資料集,在id3演算法的每次迭代中會改變 x s中類別的集合 p x 屬於類別x的元素站集合s中總元素的比例 h s 0 集合s 被完全分到乙個類中。在id3中,對每乙個屬性熵,...

機器學習實戰之決策樹

在 機器學習實戰 決策樹這一章的時候,有些地方的 有點看不太懂,看了幾篇部落格,還是未解。最後仔細看書,發現自己不懂資料集的組織方式。希望大家看的時候也注意一下。在決策樹函式呼叫的資料要滿足如下要求 1 資料必須是由列表元素組成的列表,所有的列表元素都要具有相同的資料長度 2 資料 也就是資料集中的...

機器學習實戰之決策樹

1 演算法概述 1.1 結構分析 決策樹是一種依託決策而建立起來的樹,其中,每乙個內部節點表示乙個屬性上的測試,每乙個分支代表乙個測試的結果輸出,每乙個葉子代表一種類別。如上圖所示就是乙個決策樹,首先分析所給資料集是否為同一類別,如果是,那就不用劃分了,如果不是,就尋找劃分資料集最好的特徵進行劃分 ...