Ejemplo visual de árbol de decisión

Se puede visualizar un árbol de decisiones. Un árbol de decisión es uno de los muchos algoritmos de Machine Learning.
Se usa como clasificador: dados los datos de entrada, ¿es clase A o clase B? En esta lección, visualizaremos un árbol de decisión usando el módulo Python pydotplus y el módulo graphviz

Si desea realizar un análisis del árbol de decisiones, comprender el algoritmo/modelo del árbol de decisiones o si solo necesita un generador de árboles de decisiones, deberá visualizar el árbol de decisiones.

Árbol de decisión

Instalar
Necesitas instalar pydotplus y graphviz. Estos se pueden instalar con su administrador de paquetes y pip.
Graphviz es una herramienta para dibujar gráficos utilizando archivos de puntos. Pydotplus es un módulo del lenguaje Dot de Graphviz.

Recopilación de datos
Comenzamos definiendo el código y la recopilación de datos. Hagamos el árbol de decisiones sobre hombre o mujer. Dadas las características de entrada: «altura, largo del cabello y tono de voz», predecirá si es hombre o mujer.

Empezamos con los datos de entrenamiento:

En código que se parece a:

import pydotplus
from sklearn.datasets import load_iris
from sklearn import tree
import collections


X = [ [180, 15,0],     
      [177, 42,0],
      [136, 35,1],
      [174, 65,0],
      [141, 28,1]]

Y = ['man', 'woman', 'woman', 'man', 'woman']    

data_feature_names = [ 'height', 'hair length', 'voice pitch' ]

Clasificador de trenes
El siguiente paso es entrenar el clasificador (árbol de decisión) con los datos de entrenamiento.
El entrenamiento siempre es necesario para los algoritmos de aprendizaje supervisado

clf = tree.DecisionTreeClassifier()
clf = clf.fit(X,Y)

Visualización del árbol de decisiones
Luego visualizamos el árbol usando este código completo:

dot_data = tree.export_graphviz(clf,
                                feature_names=data_feature_names,
                                out_file=None,
                                filled=True,
                                rounded=True)
graph = pydotplus.graph_from_dot_data(dot_data)

colors = ('turquoise', 'orange')
edges = collections.defaultdict(list)

for edge in graph.get_edge_list():
    edges[edge.get_source()].append(int(edge.get_destination()))

for edge in edges:
    edges[edge].sort()    
    for i in range(2):
        dest = graph.get_node(str(edges[edge][i]))[0]
        dest.set_fillcolor(colors[i])

graph.write_png('tree.png')

Esto guardará la visualización en la imagen tree.png, que se ve así:

Si desea hacer predicciones, consulte el artículo del árbol de decisiones.

No dudes en revisar estas entradas sobre Machine Learning:

Trabajar con Big Data es muy costoso, además de que muchas empresas aún no cuentan con la infraestructura adecuada para ...
Un informe reciente de Gartner sostiene que la Inteligencia Artificial eliminará 1,8 millones de puestos de trabajo, en su mayoría ...
Finalmente, tenemos el aprendizaje por refuerzo. Este tipo de aprendizaje no se diferencia de otros por el tipo de datos ...
El interés de los buscadores de empleo en puestos relacionados con la IA ha aumentado, pero no al mismo nivel ...
Los autores de este nuevo estudio, publicado en la revista científica PLOS Computational Biology, utilizaron la fase REM, que retiene ...
Los k-nearest neighbors o simplemente el algoritmo KNN representa una herramienta de machine learning supervisado fácil de usar que puede ...

¿ Te pareció de utilidad este articulo Ejemplo visual de árbol de decisión?
⬇️ Tu ayuda compartiendo es invaluable.⬇️