3 1 決策樹演算法

2021-07-14 09:51:08 字數 2241 閱讀 8593

什麼是決策樹/判定樹(decision tree)?

判定樹是乙個類似於流程圖的樹結構:其中,每個內部結點表示在乙個屬性上的測試,每個分支代表乙個屬性輸出,而每個樹葉結點代表類或類分布。樹的最頂層是根結點。

機器學習中分類方法中的乙個重要演算法

構造決策樹的基本演算法

3.1 熵(entropy)概念:

資訊和抽象,如何度量?

2023年,夏農提出了 」資訊熵(entropy)「的概念

一條資訊的資訊量大小和它的不確定性有直接的關係,要搞清楚一件非常非常不確定的事情,或者

是我們一無所知的事情,需要了解大量資訊==>資訊量的度量就等於不確定性的多少

例子:猜世界盃冠軍,假如一無所知,猜多少次?

每個隊奪冠的機率不是相等的

位元(bit)來衡量資訊的多少

變數的不確定性越大,熵也就越大

3.1 決策樹歸納演算法 (id3)

1970-1980, j.ross. quinlan, id3演算法

選擇屬性判斷結點

資訊獲取量(information gain):gain(a) = info(d) - infor_a(d)

通過a來作為節點分類獲取了多少資訊

類似,gain(income) = 0.029, gain(student) = 0.151, gain(credit_rating)=0.048

所以,選擇age作為第乙個根節點

重複。。。

演算法:

樹以代表訓練樣本的單個結點開始(步驟1)。

如果樣本都在同乙個類,則該結點成為樹葉,並用該類標號(步驟2 和3)。

否則,演算法使用稱為資訊增益的基於熵的度量作為啟發資訊,選擇能夠最好地將樣本分類的屬性(步驟6)。該屬性成為該結點的「測試」或「判定」屬性(步驟7)。在演算法的該版本中,

所有的屬性都是分類的,即離散值。連續屬性必須離散化。

對測試屬性的每個已知的值,建立乙個分枝,並據此劃分樣本(步驟8-10)。

演算法使用同樣的過程,遞迴地形成每個劃分上的樣本判定樹。一旦乙個屬性出現在乙個結點上,就不必該結點的任何後代上考慮它(步驟13)。

遞迴劃分步驟僅當下列條件之一成立停止:

(a) 給定結點的所有樣本屬於同一類(步驟2 和3)。

(b) 沒有剩餘屬性可以用來進一步劃分樣本(步驟4)。在此情況下,使用多數表決(步驟5)。

這涉及將給定的結點轉換成樹葉,並用樣本中的多數所在的類標記它。替換地,可以存放結

點樣本的類分布。

(c) 分枝

test_attribute = a i 沒有樣本(步驟11)。在這種情況下,以 samples 中的多數類

建立乙個樹葉(步驟12)

3.1 其他演算法:

c4.5: quinlan

classification and regression trees (cart): (l. breiman, j. friedman, r. olshen, c. stone)

區別:屬性選擇度量方法不同: c4.5 (gain ratio), cart(gini index), id3 (information gain)

3.2 如何處理連續性變數的屬性?

樹剪枝葉 (避免overfitting)

4.1 先剪枝

4.2 後剪枝

決策樹的優點:

直觀,便於理解,小規模資料集有效

決策樹的缺點:

處理連續變數不好

類別較多時,錯誤增加的比較快

可規模性一般(

3 1決策樹演算法

0.機器學習中分類和 演算法的評估 準確性,速度,強壯性,可規模性,課解釋性。1.什麼是決策樹 判定樹 decision tree 判定樹是乙個類似於流程圖的樹結構 其中,每個內部結點表示在乙個屬性上的測試,每個分支代表乙個屬性輸出,而每個樹葉結點代表類或類分布。樹的最頂層是根結點。3.構造決策樹的...

3 1 決策樹 decision tree 演算法

0.機器學習中分類和 演算法的評估 1.什麼是決策樹 判定樹 decision tree 判定樹是乙個類似於流程圖的樹結構 其中,每個內部結點表示在乙個屬性上的測試,每個分支代表乙個屬性輸出,而每個樹葉結點代表類或類分布。樹的最頂層是根結點。2.機器學習中分類方法中的乙個重要演算法 3.構造決策樹的...

3 1決策樹演算法應用

1.python 2.python機器學習的庫 scikit learn 2.1 特性 簡單高效的資料探勘和機器學習分析 對所有使用者開放,根據不同需求高度可重用性 基於numpy,scipy和matplotlib 開源,商用級別 獲得 bsd許可 2.2 覆蓋問題領域 分類 classificat...