English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Code source de l'arbre de décision écrit avec le paquet sklearn en Python

Ce document d'exemple partage avec vous le code source du决策树écrit en python, à titre de référence, voici le contenu détaillé

因为最近实习的需要,所以用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)
#Visualiser l'arbre
with open("resultTree.dot",'w')as f:
f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(), out_file = f)
#Comment voir la classification d'une nouvelle donnée
oneRowX = dummX[0,:]
print("oneRowX : ")+str(oneRowX)
newRowX = oneRowX
newRowX[0] = 1
newRowX[2] = 0
predictedY = clf.predict(newRowX)
print("predictedY : ")+ str(predictedY)

Le fichier AllElectronics.csv ici a la forme comme montrée ci-dessous :

Ce matin, après bien des efforts, j'ai réussi à installer jdk, eclipse et pydev sur linux, mais, mais, mais, quand j'ai voulu installer numpy, il y avait toujours des erreurs. J'ai découvert qu'il manquait gcc, alors j'ai décidé d'installer gcc, ce qui est vraiment irritant. Jusqu'à présent, gcc n'a pas été installé avec succès, et je dois réfléchir à d'autres méthodes.

Déclaration : le contenu de cet article est hébergé sur Internet, et les droits d'auteur appartiennent à leurs propriétaires respectifs. Le contenu est contribué et téléchargé par les utilisateurs d'Internet, ce site n'en possède pas la propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu suspect de droits d'auteur, vous êtes invités à envoyer un e-mail à notice#w.3Pour signaler un contenu litigieux, veuillez envoyer un e-mail à notice#w en remplaçant le # par @ et fournir des preuves pertinentes. Une fois confirmé, le site supprimera immédiatement le contenu litigieux.

Vous pourriez aussi aimer