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

Escribir el código fuente del árbol de decisión utilizando el paquete sklearn en Python

Este artículo comparte el código fuente de la decisión árboles en Python, a modo de ejemplo para todos, el contenido específico es el siguiente

Debido a las necesidades de prácticas recientes, se ha rewritten el árbol de decisiones utilizando el paquete sklearn de Python.

Herramientas:sklearnConvertir los archivos dot a formato pdf (para visualizar el árbol de decisiones formado) con graphviz-2.38Añadir el directorio de los archivos bin a la variable de entorno después de descargar y descomprimir

El código fuente es el siguiente:

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
# Leer el archivo csv y poner las características en una lista de diccionarios y una lista de etiquetas de clase
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 = {}
# No incluye 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))
#Visualizar tree
with open("resultTree.dot",'w')as f:
f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(), out_file = f)
#¿Cómo ver la clasificación de nuevos datos?
oneRowX = dummX[0,:]
print("oneRowX: ")+str(oneRowX))
newRowX = oneRowX
newRowX[0] = 1
newRowX[2] = 0
predictedY = clf.predict(newRowX)
print("predictedY: ")+ str(predictedY))

Aquí está el archivo AllElectronics.csv, con el formato que se muestra a continuación:

Esta mañana, después de mucho esfuerzo, logré instalar jdk, eclipse y pydev en linux, pero, pero, pero, cuando quise instalar numpy, siempre me aparecía un error, descubrí que no tenía gcc, luego volví a instalar gcc, ¡realmente estoy harto! Hasta ahora, gcc no se ha instalado correctamente, y necesito pensar en otras soluciones

Declaración: El contenido de este artículo se ha obtenido de Internet, pertenece al autor original, el contenido ha sido contribuido y cargado por usuarios de Internet de manera autónoma, este sitio web no posee derechos de propiedad, no ha sido editado artificialmente y no asume ninguna responsabilidad legal relevante. Si encuentra contenido sospechoso de copyright, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar y proporcione evidencia relevante. Una vez que se compruebe, este sitio eliminará inmediatamente el contenido sospechoso de infracción.)

Te gustará