今天學了關於決策樹的相關知識點,以下是對學習過程中遇到問題所做的筆記。
1.關於csv
csv檔案格式是一種通用的電子**和資料庫匯入匯出格式。
讀取csv檔案
import csv
file = open('c:\users\qaq\desktop\p.csv','rb')
reader = csv.reader(file)
for row in reader:
print row #其中我們也可以對row中的元素進行操作, 比如row, row....
寫入csv檔案
import csv
wf = open('c:\users\qaq\desktop\p.csv','a+')
writer = csv.writer(wf)
writer.writerow(['15', 'youth', 'medium', 'no', 'excellent', 'yes'])
wf.flush()
wf.close()
2. 關於dictvectorizer() 參見
featurelist= #裡面儲存特徵值
lablelist= #儲存類別的值 yes/no
for row in reader:
rowdict={}#建立乙個字典
for i in range(1, len(row) - 1):
rowdict[headers[i]] = row[i]
#print featurelist
vec = dictvectorizer()#例項化dictvectorizer()
dummyx = vec.fit_transform(featurelist).toarray()#特徵值的提取
#參見#print str(dummyx)
# [[ 0. 0. 1. 0. 1. 1. 0. 0. 1. 0.]
# [ 0. 0. 1. 1. 0. 1. 0. 0. 1. 0.]
# [ 1. 0. 0. 0. 1. 1. 0. 0. 1. 0.]
# [ 0. 1. 0. 0. 1. 0. 0. 1. 1. 0.]
# [ 0. 1. 0. 0. 1. 0. 1. 0. 0. 1.]
# [ 0. 1. 0. 1. 0. 0. 1. 0. 0. 1.]
# [ 1. 0. 0. 1. 0. 0. 1. 0. 0. 1.]
# [ 0. 0. 1. 0. 1. 0. 0. 1. 1. 0.]
# [ 0. 0. 1. 0. 1. 0. 1. 0. 0. 1.]
# [ 0. 1. 0. 0. 1. 0. 0. 1. 0. 1.]
# [ 0. 0. 1. 1. 0. 0. 0. 1. 0. 1.]
# [ 1. 0. 0. 1. 0. 0. 0. 1. 1. 0.]
# [ 1. 0. 0. 0. 1. 0. 1. 0. 0. 1.]
# [ 0. 1. 0. 1. 0. 0. 0. 1. 1. 0.]]
3.tree.decisiontreeclassifier(裡面選擇分離的方法) 決策樹的演算法, 這裡我們選資訊熵的分離
突然感覺python啥都替我們幹好了,我們做的其實就是對前期資料的預處理。
#建立分離器
clf = tree.decisiontreeclassifier(criterion='entropy')#選取分離的方法, 我們使用的是資訊熵分離
clf = clf.fit(dummyx, dummyy)#建模 兩個引數
print "clf" + str(clf)
4. tree.export_graphviz
with open('c:\\users\\qaq\\desktop\\r.dot', 'w') as f:
f = tree.export_graphviz(clf, feature_names = vec.feature_names_, out_file = f)
# 這個引數 feature_names = vec.feature_names_ 將矩陣中的01特徵值重新變為 youth、middle_age...
5.將dot檔案轉化為pdf格式
1、首先安裝graphviz
2、配置path環境變數
3.dot -tpdf r.dot -o outpu.pdf (在cmd 下面輸入 可將dot檔案轉化為pdf格式)
機器學習之決策樹
在這裡,我想以更直觀的方式幫助各位理解 掌握並且運用 注意 是運用 決策樹,從而為機器學習作鋪墊。ps 但還是希望大家稍微知道決策樹大概是什麼樣子。1.根結點 root node 沒有入邊,但有零條或多條出邊 2.內部結點 internal node 恰有一條入邊和 兩條或多條出邊 3.葉結點 le...
機器學習之決策樹
決策樹是很常見的機器學習分類演算法,竟然叫決策樹,那麼它的模型其實就像樹一樣。通過對樣本集的學習,挖掘出有用的規則。對於程式設計師來說或許以條件語句來看就更好理解了,決策樹可以看成是多個if then條件語句的集合。這種模型等同於我們寫的條件語句,所以它的 分類速度是很快的。來個例子了解下決策樹分類...
機器學習之決策樹
簡介 決策樹是一種基本的分類方法,當然也可以用於回歸。我們一般只討論用於分類的決策樹。決策樹模型呈樹形結構。在分類問題中,表示基於特徵對例項進行分類的過程,它可以認為是if then規則的集合。在決策樹的結構中,每乙個例項都被一條路徑或者一條規則所覆蓋。通常決策樹學習包括三個步驟 特徵選擇 決策樹的...