熵: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 featuresvec=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演算法學習
決策樹是一種預測模型,它由決策節點,分支和葉節點三個部分組成。決策節點代表乙個樣本測試,通常代表待分類樣本的某個屬性,在該屬性上的不同測試結果代表乙個分支 分支表示某個決策節點的不同取值。每乙個葉節點代表一種可能的分類結果。使用訓練集對決策樹演算法進行訓練,得到乙個決策樹模型。利用模型對未知樣本 類...
決策樹演算法
決策樹是一種樹型結構,其中每個內部結點表示在乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉結點代表一種類別。決策樹學習是以例項為基礎的歸納學習,採用的是自頂向下的遞迴方法,其基本思想是以資訊熵為度量構造一棵熵值下降最快的樹,到葉子結點處的熵值為零,此時每個葉節點中的例項都屬於同一類。決策樹學習演...