es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ocultar el nombre del criterio en la función plot_tree().

Necesito que el gráfico de la función plot_tree() se muestre sin un valor de criterio en cada nodo del árbol. Es decir, quiero obtener una imagen como la siguiente:

https://i.stack.imgur.com/ufvCa.png

sin usar Paint 🙂 ¿Cómo puedo hacerlo?

También necesito reemplazar la palabra ‘value’ por ‘proba’, ¿se puede hacer cambiando solo el código fuente?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para eliminar el valor del criterio en cada nodo del árbol de decisión generado por la función plot_tree() en scikit-learn, puedes establecer el parámetro rounded en True. Esto eliminará la visualización del valor del criterio y hará que los bordes sean más curvos, lo que resultará en una imagen más clara del árbol de decisión.

    Aquí hay un ejemplo de código:

    from sklearn.tree import DecisionTreeClassifier, plot_tree
    import matplotlib.pyplot as plt
    
    # crea un DecisionTreeClassifier y ajústalo con tus datos
    dtc = DecisionTreeClassifier()
    dtc.fit(X_train, y_train)
    
    # grafica el árbol de decisión sin la visualización del valor del criterio pero con bordes curvos
    plt.figure(figsize=(10,10))
    plot_tree(dtc, rounded=True, filled=True)
    plt.show()
    

    Para reemplazar la palabra “valor” por “proba”, tendrás que cambiar el código fuente de la función plot_tree(). Específicamente, deberás modificar el método _tree.plot_tree() ubicado en el archivo _tree.pyx dentro del paquete scikit-learn.

    Sin embargo, no es recomendable modificar el código fuente directamente ya que puede haber problemas de compatibilidad y mantenimiento. En su lugar, puedes crear una nueva función o subclase de la clase DecisionTreeClassifier, y anular el método plot_tree() para mostrar “proba” en lugar de “valor”.

Comments are closed.