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