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.

Cómo configurar la precisión de punto flotante en Sklearn RocCurveDisplay?

Quiero establecer la precisión de punto flotante de AUC (que se muestra en la leyenda) a 4 dígitos. Utilicé la función predeterminada disponible en sklearn.metrics.RocCurveDisplay:
“`
RocCurveDisplay.from_predictions(
y_test, y_preds, name=”CNN”)

plt.show()

Tengo la gráfica de matplotlib como se muestra a continuación:

enter image description here

Deseo cambiar la precisión del AUC en la leyenda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para establecer la precisión de punto flotante del AUC mostrado en la leyenda a 4 dígitos, necesitamos modificar el objeto RocCurveDisplay antes de llamar a plt.show().

    Aquí tienes un ejemplo de cómo hacerlo:

    from sklearn.metrics import roc_auc_score
    from sklearn.metrics import RocCurveDisplay
    import matplotlib.pyplot as plt
    
    y_test = [0, 0, 1, 1]
    y_preds = [0.1, 0.4, 0.35, 0.8]
    auc_score = roc_auc_score(y_test, y_preds)
    
    roc_display = RocCurveDisplay.from_predictions(
        y_test, y_preds, name="CNN")
    roc_display.ax_.legend([f'CNN (AUC={auc_score:.4f})'])
    
    plt.show()
    

    En este ejemplo, primero calculamos el puntaje AUC utilizando roc_auc_score(). Luego, creamos un objeto RocCurveDisplay utilizando RocCurveDisplay.from_predictions(). Establecemos la leyenda utilizando roc_display.ax_.legend(), donde formateamos el puntaje AUC con 4 decimales usando la sintaxis de f-string {auc_score:.4f}.

    Después de eso, llamamos a plt.show() para mostrar el gráfico con la leyenda actualizada.

    El gráfico de salida debería mostrar el puntaje AUC formateado con 4 decimales en la leyenda.

Comments are closed.