Capítulo 16. Explicación de los modelos de regresión

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La mayoría de las técnicas utilizadas para explicar los modelos de clasificación se aplican a los modelos de regresión. En este capítulo, mostraré cómo utilizar la biblioteca SHAP para interpretar los modelos de regresión.

Interpretaremos un modelo XGBoost para el conjunto de datos de viviendas de Boston:

>>> import xgboost as xgb
>>> xgr = xgb.XGBRegressor(
...     random_state=42, base_score=0.5
... )
>>> xgr.fit(bos_X_train, bos_y_train)

Shapley

Soy un gran admirador de Shapley porque es agnóstico al modelo. Además, esta biblioteca nos da una visión global de nuestro modelo y nos ayuda a explicar las predicciones individuales. Si tienes un modelo de caja negra, me parece muy útil.

Veremos primero la predicción para el índice 5. Nuestro modelo predice un valor de 27,26:

>>> sample_idx = 5
>>> xgr.predict(bos_X.iloc[[sample_idx]])
array([27.269186], dtype=float32)

Para utilizar el modelo, tenemos que crear un TreeExplainer a partir de nuestro modelo y estimar los valores SHAP de nuestras muestras. Si queremos utilizar Jupyter y tener una interfaz interactiva, también tenemos que llamar a la funcióninitjs:

>>> import shap
>>> shap.initjs()

>>> exp = shap.TreeExplainer(xgr)
>>> vals = exp.shap_values(bos_X)

Con el explicador y los valores SHAP, podemos crear un gráfico de fuerzas para explicar la predicción (ver ...

Get Referencia de bolsillo sobre aprendizaje automático now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.