決策樹ID3演算法

2021-08-28 10:25:40 字數 1091 閱讀 2167

typeerror: 'dict_keys' object does not support indexing

9.typeerror: 『dict_keys』 object does not support indexing

這個問題是python版本的問題

#如果使用的是python2

firststr = mytree.keys()[0]

#lz使用的是python3

firstsides = list(mytree.keys())

firststr = firstsides[0]12345

這是看決策樹**出現的問題,python3如果執行

firststr = mytree.keys()[0]1

就會報這個錯誤,解決辦法就是先轉換成list,再把需要的索引提取出來。

nameerror: name 'trainlabel' is not defined
def labelcount(self, dataset):

labelcount = {}

for i in dataset:

if trainlabel[i] in labelcount.keys():

labelcount[trainlabel[i]] += 1

else:

labelcount[trainlabel[i]] = 1

return labelcount

# 改為

def labelcount(self, dataset):

labelcount = {}

for i in dataset:

if self.trainlabel[i] in labelcount.keys():

labelcount[self.trainlabel[i]] += 1

else:

labelcount[self.trainlabel[i]] = 1

return labelcount

決策樹 ID3演算法

id3演算法通過計算每個屬性的資訊增益,認為資訊增益越大屬性越優,每次劃分選取資訊增益最大的屬性為劃分標準,重複這個過程,直到構成一棵決策樹。資訊熵是描述事件給我們的驚訝程度,如果所有事件的概率均等,那熵值大,驚訝程度低。如果有一事件的概率極高而其他極低,熵值便低,驚訝程度大。其計算公式如下 資訊增...

決策樹 ID3演算法

一 決策樹基本概念 在機器學習中,決策樹是乙個 模型,它代表的是物件屬性與物件值之間的一種對映關係。本質上決策樹是通 過一系列規則對資料進行分類的過程。下圖為經典決策樹例項。如圖所示,例項是由 屬性 值 對表示的 例項是用一系列固定的屬性和他們的值構成。目標函式具有離散的輸出值 上圖給每個例項賦予乙...

決策樹 ID3演算法

id3演算法也叫決策樹歸納演算法,不是很使用,但是是決策樹演算法的開山之作,這裡簡單說下 在資訊理論中,熵 entropy 是隨機變數不確定性的度量,也就是熵越大,則隨機變數的不確定性越大。設x是乙個取有限個值得離散隨機變數,其概率分布為 則隨機變數x的熵定義為 設有隨機變數 x,y 其聯合概率分布...