English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dieser Artikel teilt Ihnen Beispiele für die Python-Quellcode-Schreibweise von Decision Trees mit und dient als Referenz. Der genaue Inhalt ist wie folgt
因为最近实习的需要,所以用python里的sklearn包重新写了一次决策树。
工具:sklearn,将dot文件转化为pdf格式(是为了将形成的决策树可视化)graphviz-2.38,下载解压之后将其中的bin文件的目录添加进环境变量
源代码如下:
from sklearn.feature_extraction import DictVectorizer import csv from sklearn import tree from sklearn import preprocessing from sklearn.externals.six import StringIO from xml.sax.handler import feature_external_ges from numpy.distutils.fcompiler import dummy_fortran_file # Read in the csv file and put features into list of dict and list of class label allElectronicsData = open(r'E:/DeepLearning/resources/AllElectronics.csv', 'rt') reader = csv.reader(allElectronicsData) headers = next(reader) featureList = [] lableList = [] for row in reader: lableList.append(row[len(row)]-1]) rowDict = {} # 不包括 len(row)-1 for i in range(1, len(row)-1) : rowDict[headers[i]] = row[i] featureList.append(rowDict) print(featureList) vec = DictVectorizer() dummX = vec.fit_transform(featureList).toarray() print(str(dummX)) lb = preprocessing.LabelBinarizer() dummY = lb.fit_transform(lableList) print(str(dummY)) #entropy=>ID3 clf = tree.DecisionTreeClassifier(criterion='entropy') clf = clf.fit(dummX, dummY) print("clf:")+str(clf) #Visualisierung des Baumes with open("resultTree.dot",'w')as f: f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(), out_file = f) #Wie kann man die Klassifizierung neuer Daten überprüfen oneRowX = dummX[0,:] print("oneRowX: ")+str(oneRowX) newRowX = oneRowX newRowX[0] = 1 newRowX[2] = 0 predictedY = clf.predict(newRowX) print("predictedY: ")+ str(predictedY)
Hier ist das AllElectronics.csv in der folgenden Form dargestellt:
Heute früh habe ich JDK, Eclipse und PyDev auf Linux installiert, aber, aber, aber, wenn ich numpy installieren wollte, wurde immer ein Fehler gemeldet. Ich habe festgestellt, dass gcc fehlt, und bin dann gegangen, gcc zu installieren. Es ist wirklich ärgerlich, dass gcc immer noch nicht installiert ist. Überlege mir eine andere Methode.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetnutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige Urheberrechtsinhalte finden, senden Sie bitte eine E-Mail an: notice#w3Bitte ersetzen Sie bei der E-Mail # durch @ und melden Sie den Verdacht auf Urheberrechtsverletzung, und fügen Sie relevante Beweise bei. Sobald nachgewiesen, wird die Website den verdächtigen Inhalten sofort löschen.