機器學習筆記8 決策樹

2021-07-31 22:35:21 字數 1487 閱讀 1401

決策樹容易過擬合,尤其是在你具有包含大量特徵的資料時,複雜的決策樹可能會過擬合資料

輸出是連續或離散,分為回歸和分類

名詞:例項:輸入

函式目標:答案

假設類:願意考慮的所有函式

訓練集:由所有的輸入和與之配對的標籤組成的集合

候選者:可能會使目標函式

測試集

決策樹有特定的表示

決策節點:挑選乙個特定的屬性,提出該屬性的問題,答案就是邊所表示的值

順序是由根節點到輸出

構建決策樹:

1.挑選乙個最佳屬性(將事物大致一分為二的同一特性)

2.提出問題

3.沿著答案的路徑

3 返回1

直到把可能性空間縮小到乙個示例

決策樹可表達性:

and,or:複雜度n

xor:複雜度o(2^n)

決策樹數量:2^2^n

需要用明智的演算法選擇合適的決策樹:

id3:

輸入:樣本集合s,屬性集合a

輸出:id3決策樹。

1) 若所有種類的屬性都處理完畢,返回;否則執行2)

2)計算出資訊增益最大屬性a,把該屬性作為乙個節點。

如果僅憑屬性a就可以對樣本分類,則返回;否則執行3)

3)對屬性a的每個可能的取值v,執行一下操作:

i.  將所有屬性a的值是v的樣本作為s的乙個子集sv;

ii. 生成屬性集合at=a-;

iii.以樣本集合sv和屬性集合at為輸入,遞迴執行id3演算法;

最佳屬性標準(資訊增益):

s:訓練樣本的集合

a:特定屬性

gain(s,a)=熵(s)-(具有特定值的每個樣本集的預期或平均熵)

熵:測量隨機性的一種方法

比如說將出現的紅色 x 的數量和將出現的綠色 o 的數量,如果它們均勻分割 則它們的熵會是最大值。

在你可能看到的所有可能值中求和,該值的概率乘以該值的概率的對數,再乘以負一

id3偏差:

限定偏差:集合(決策樹可以在目前已提供離散變數的所有情況中表示的函式)

優選偏差:子集

偏向好的分割靠近頂部

偏向正確的答案

偏向更短的樹

樹過大過複雜,違反奧卡姆剃刀定律,會造成過擬合。交叉驗證,剪枝等

from sklearn import tree  

from class_vis import prettypicture, output_image

clf = tree.decisiontreeclassifier()

clf.fit(features_train, labels_train)

prettypicture(clf, features_test, labels_test)

output_image("test.png", "png", open("test.png", "rb").read())

機器學習筆記 決策樹學習

決策樹學習是一種逼近離散值目標函式的方法,在這樣的方法中學習到的函式被表示為一棵決策樹。表示法 把例項從根節點排列到某個葉子節點來分類例項,葉子節點即為例項所屬的分類。樹上的每個節點指定了對例項的某個屬性 attribute 的測試,而且該節點的每個字尾分支相應於該屬性的乙個可能值。分類例項的方法是...

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...

機器學習 決策樹

我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...