決策樹演算法學習

2022-07-30 20:12:15 字數 2357 閱讀 2635

熵:h(d)=-plog2(p)

info(a)=info(d)-info_a(d)

開啟csv檔案:

分析:屬性 :age income student credit_rating 類:buys_computer

共14人

from sklearn import preprocessing  #資料的預處理

from sklearn.externals.six import stringio

# 開啟csv檔案

allelectionicsdata=open(r'g:\machinelearning/allelectronics.csv','rt')

reader=csv.reader(allelectionicsdata)

headers=next(reader)

print("結果是:")

print(headers)

#分階段展示結果:

featurelist=  #featurelist是屬性列表

labellist=  # labellist是類列表

結果:[, ,,

, ,,,

,, ,,

, ,

]

#vetorize features

vec=dictvectorizer()

dummyx=vec.fit_transform(featurelist).toarray()  #轉換0,1,scikit庫可以識別

# labellist存放類

print("labellist:"+str(labellist))

lb=preprocessing.labelbinarizer()

dummy=lb.fit_transform(labellist)

print("dummyy:"+str(dummy)

#選擇器

clf=tree.decisiontreeclassifier()

clf=tree.decisiontreeclassifier(criterion='entropy') #熵 entropy

注意維度的變換

決策樹演算法學習筆記(一)

夏農熵的計算 coding utf 8 frommathimportlog defcalcshannonent dataset numentries len dataset 統計資料集的數量 labelcounts 建立乙個資料字典 forfeatvecindataset currentlabel ...

決策樹之C4 5演算法學習

決策樹是一種預測模型,它由決策節點,分支和葉節點三個部分組成。決策節點代表乙個樣本測試,通常代表待分類樣本的某個屬性,在該屬性上的不同測試結果代表乙個分支 分支表示某個決策節點的不同取值。每乙個葉節點代表一種可能的分類結果。使用訓練集對決策樹演算法進行訓練,得到乙個決策樹模型。利用模型對未知樣本 類...

決策樹演算法

決策樹是一種樹型結構,其中每個內部結點表示在乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉結點代表一種類別。決策樹學習是以例項為基礎的歸納學習,採用的是自頂向下的遞迴方法,其基本思想是以資訊熵為度量構造一棵熵值下降最快的樹,到葉子結點處的熵值為零,此時每個葉節點中的例項都屬於同一類。決策樹學習演...