分類演算法之決策樹 Decision tree

2021-07-25 08:56:39 字數 1971 閱讀 3674

通俗來說,決策樹分類的思想類似於找物件。現想象乙個女孩的母親要給這個女孩介紹男朋友,於是有了下面的對話:

女兒:多大年紀了?

母親:26。

女兒:長的帥不帥?

母親:挺帥的。

女兒:收入高不?

母親:不算很高,中等情況。

女兒:是公務員不?

母親:是,在稅務局上班呢。

女兒:那好,我去見見。

這個女孩的決策過程就是典型的分類樹決策。相當於通過年齡、長相、收入和是否公務員對將男人分為兩個類別:見和不見。假設這個女孩對男人的要求是:30歲以下、長相中等以上並且是高收入者或中等以上收入的公務員,那麼這個可以用下圖表示女孩的決策邏輯(宣告:此決策樹純屬為了寫文章而yy的產物,沒有任何根據,也不代表任何女孩的擇偶傾向,請各位女同胞莫質問我^_^):

上圖完整表達了這個女孩決定是否見乙個約會物件的策略,其中綠色節點表示判斷條件,橙色節點表示決策結果,箭頭表示在乙個判斷條件在不同情況下的決策路徑,圖中紅色箭頭表示了上面例子中女孩的決策過程。

這幅圖基本可以算是一顆決策樹,說它「基本可以算」是因為圖中的判定條件沒有量化,如收入高中低等等,還不能算是嚴格意義上的決策樹,如果將所有條件量化,則就變成真正的決策樹了。

有了上面直觀的認識,我們可以正式定義決策樹了:

決策樹(decision tree)是乙個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。

可以看到,決策樹的決策過程非常直觀,容易被人理解。目前決策樹已經成功運用於醫學、製造產業、天文學、分支生物學以及商業等諸多領域。知道了決策樹的定義以及其應用方法,下面介紹決策樹的構造演算法。

不同於貝葉斯演算法,決策樹的構造過程不依賴領域知識,它使用屬性選擇度量來選擇將元組最好地劃分成不同的類的屬性。所謂決策樹的構造就是進行屬性選擇度量確定各個特徵屬性之間的拓撲結構。

**屬性分為三種不同的情況:

1、屬性是離散值且不要求生成二叉決策樹。此時用屬性的每乙個劃分作為乙個分支。

2、屬性是離散值且要求生成二叉決策樹。此時使用屬性劃分的乙個子集進行測試,按照「屬於此子集」和「不屬於此子集」分成兩個分支。

3、屬性是連續值。此時確定乙個值作為**點split_point,按照》split_point和<=split_point生成兩個分支。

構造決策樹的關鍵性內容是進行屬性選擇度量,屬性選擇度量是一種選擇**準則,是將給定的類標記的訓練集合的資料劃分d「最好」地分成個體類的啟發式方法,它決定了拓撲結構及**點split_point的選擇。

屬性選擇度量演算法有很多,一般使用自頂向下遞迴分治法,並採用不回溯的貪心策略。例如,id3 和 c4.5 這兩種常用演算法。

如果屬性用完了怎麼辦

在決策樹構造過程中可能會出現這種情況:所有屬性都作為**屬性用光了,但有的子集還不是純淨集,即集合內的元素不屬於同一類別。在這種情況下,由於沒有更多資訊可以使用了,一般對這些子集進行「多數表決」,即使用此子集中出現次數最多的類別作為此節點類別,然後將此節點作為葉子節點。

關於剪枝

在實際構造決策樹時,通常要進行剪枝,這時為了處理由於資料中的雜訊和離群點導致的過分擬合問題。

剪枝有兩種:

先剪枝——在構造過程中,當某個節點滿足剪枝條件,則直接停止此分支的構造。

後剪枝——先構造完成完整的決策樹,再通過某些條件遍歷樹進行剪枝。

關於剪枝的具體演算法這裡不再詳述,有興趣的可以參考相關文獻。

分類 決策樹演算法

匯入sklearn的內嵌鳶尾花資料集 from sklearn.datasets import load iris 匯入決策樹分類器,同時匯入計算交叉驗證值的函式cross val score from sklearn.tree import decisiontreeclassifier from ...

分類演算法 決策樹演算法

決策樹是一種對例項進行分類的樹形結構,也是一種基本的分類與回歸方法。決策樹由結點 node 和有向邊 directed edge 組成。結點又分為兩種型別 內部結點 internal node 和葉結點 leaf node 內部結點表示乙個特徵或屬性,葉結點表示乙個分類。如下圖所示為乙個決策樹模型 ...

決策樹(decision tree)分類演算法

2.1 決策樹 decision tree 分類演算法 決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路...