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.

Estoy tratando de entender los valores Shap de un modelo predictivo a continuación. Por favor, ayúdame a entender qué significa el resultado de “value” y “explainer”.

x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=42)
rf_model = RandomForestClassifier()
rf_model.fit(x_train, y_train)
rf_pred = rf_model.predict(x_test)

import shap
rf_explainer = shap.TreeExplainer(rf_model, x_train)
rf_vals = rf_explainer.shap_values(x_train)

Salida: 100%|===================| 4778/4792 [03:26<00:00]

rf_explainer.expected_value

Salida: array([0.5763, 0.4237])

(Aunque con el gráfico resumen entendí cuál es la contribución de cada característica al modelo)
(Por favor, explícame qué significan los números en ambas salidas (4778/4792 y array([0.5763, 0.4237])))

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Los números 4778/4792 en la salida representan la barra de progreso para el cálculo del valor SHAP. Indica el porcentaje de completitud del proceso, donde se han completado 4778 de 4792 iteraciones, tomando 3 minutos y 26 segundos para calcular.

    El array([0.5763, 0.4237]) en la salida muestra los valores esperados para las dos clases de la variable objetivo, que están representadas por los valores 0 y 1. El valor esperado para la clase 0 es 0.5763, y para la clase 1, es 0.4237. Esto significa que cuando promediamos las probabilidades predichas para todas las muestras de cada clase, obtenemos estos valores esperados.

Comments are closed.