• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

587
Vistas
Shap: la barra de color no se muestra en el gráfico de resumen

Al mostrar la gráfica de resumen, la barra de color no se muestra.

 shap.summary_plot(shap_values, X_train)

Trama resumen

He intentado cambiar plot_size. Cuando el gráfico es más alto, aparece la barra de color, pero es muy pequeña, no parece que debería.

 shap.summary_plot(shap_values, X_train, plot_size=0.7)

Trama de resumen superior

Aquí hay un ejemplo de una barra de color de aspecto adecuado.Trama de resumen adecuada

Alguien sabe si esto se puede arreglar de alguna manera?

Cómo reproducir:

 import pandas as pd import shap import sklearn from sklearn.ensemble import RandomForestRegressor # a classic housing price dataset X,y = shap.datasets.boston() # a simple linear model model = RandomForestRegressor(max_depth=6, random_state=0, n_estimators=10) model.fit(X, y) shap_values = shap.TreeExplainer(model).shap_values(X) shap.summary_plot(shap_values, X)

En este caso, se muestra la barra de color, pero es muy pequeña. He elegido un ejemplo de este tipo para facilitar la recuperación de los datos.

over 3 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Tuve el mismo problema que tú y descubrí que la solución era degradar matplotlib a 3.4.3. Parece que SHAP aún no está optimizado para matplotlib 3.5.1.

over 3 years ago · Santiago Trujillo Denunciar

0

Como se mencionó anteriormente, parece que el manejo de la barra de colores o la relación de aspecto de la caja se ha cambiado en matplotlib.pyplot versión 3.5. Sin embargo, puedes corregir eso.

  • Use shap.summary_plot(..., show=False) para permitir alterar la trama
  • Como se mencionó anteriormente, establezca el aspecto de la barra de colores con plt.gcf().axes[-1].set_aspect(1000)
  • Luego configure también el aspecto del cuadro de la barra de colores plt.gcf().axes[-1].set_box_aspect(1000)

Esto le devuelve el resultado anterior. Si desea que la barra de colores sea más gruesa, establezca el aspecto en 100.

over 3 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar y estaba usando max_display=10. El siguiente código resolvió mi problema:

 plt.gcf().axes[-1].set_aspect(100) plt.gcf().axes[-1].set_box_aspect(100)
over 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda