Te recomendamos que revises esta solución en un ambiente controlado antes de enviarlo a producción, un saludo.
sklearn.tree.export_graphviz(decision_tree, out_file=None, *, max_depth=None, feature_names=None, class_names=None, label='all', filled=False, leaves_parallel=False, impurity=True, node_ids=False, proportion=False, rotate=False, rounded=False, special_characters=False, precision=3)
[source]-
Exportar un árbol de decisiones en formato DOT.
Esta función genera una representación GraphViz del árbol de decisiones, que luego se escribe en
out_file
. Una vez exportados, se pueden generar representaciones gráficas utilizando, por ejemplo:$ dot -Tps tree.dot -o tree.ps (PostScript format) $ dot -Tpng tree.dot -o tree.png (PNG format)
Los recuentos de muestras que se muestran se ponderan con cualquier sample_weights que pueda estar presente.
Leer más en el Guía del usuario.
- Parámetros
-
decision_treedecision tree classifier
-
El árbol de decisiones que se exportará a GraphViz.
out_fileobject or str, default=None
-
Identificador o nombre del archivo de salida. Si
None
, el resultado se devuelve como string.Modificado en la versión 0.20: El valor predeterminado de out_file cambió de “tree.dot” a Ninguno.
max_depthint, default=None
-
La profundidad máxima de la representación. Si es Ninguno, el árbol se genera por completo.
feature_nameslist of str, default=None
-
Nombres de cada una de las características. Si no se utilizarán nombres genéricos (“feature_0”, “feature_1”,…).
class_nameslist of str or bool, default=None
-
Nombres de cada una de las clases de destino en orden numérico ascendente. Solo es relevante para la clasificación y no es compatible con múltiples salidas. Si
True
, muestra una representación simbólica del nombre de la clase. label‘all’, ‘root’, ‘none’, default=’all’
-
Ya sea para mostrar etiquetas informativas para impurezas, etc. Las opciones incluyen ‘todos’ para mostrar en cada nodo, ‘raíz’ para mostrar solo en el nodo raíz superior o ‘ninguno’ para no mostrar en ningún nodo.
filledbool, default=False
-
Cuando se establece en
True
, pinte los nodos para indicar la clase mayoritaria para la clasificación, el extremo de los valores para la regresión o la pureza del nodo para la salida múltiple. leaves_parallelbool, default=False
-
Cuando se establece en
True
, dibuja todos los nodos de hojas en la parte inferior del árbol. impuritybool, default=True
-
Cuando se establece en
True
, muestra la impureza en cada nodo. node_idsbool, default=False
-
Cuando se establece en
True
, muestre el número de identificación en cada nodo. proportionbool, default=False
-
Cuando se establece en
True
, cambie la visualización de ‘valores’ y / o ‘muestras’ para que sean proporciones y porcentajes respectivamente. rotatebool, default=False
-
Cuando se establece en
True
, oriente el árbol de izquierda a derecha en lugar de hacerlo de arriba hacia abajo. roundedbool, default=False
-
Cuando se establece en
True
, dibuje cuadros de nodo con esquinas redondeadas y use fuentes Helvetica en lugar de Times-Roman. special_charactersbool, default=False
-
Cuando se establece en
False
, ignore los caracteres especiales para la compatibilidad con PostScript. precisionint, default=3
-
Número de dígitos de precisión para coma flotante en los valores de impureza, umbral y valor attributes de cada nodo.
- Devoluciones
-
dot_datastring
-
Representación de cadena del árbol de entrada en formato de puntos GraphViz. Solo devuelto si
out_file
es Ninguno.Nuevo en la versión 0.18.
Ejemplos de
>>>from sklearn.datasets import load_iris >>>from sklearn import tree
>>> clf = tree.DecisionTreeClassifier()>>> iris = load_iris()
>>> clf = clf.fit(iris.data, iris.target)>>> tree.export_graphviz(clf) 'digraph Tree {...