Initialisation de l’environnement SHAP pour les visualisations JavaScript
Avant d’afficher des visualisations interactives avec SHAP (notamment force_plot
, decision_plot
ou d’autres graphiques dynamiques), il est nécessaire d’initialiser l’environnement JavaScript dans l’environnement d’exécution (comme Jupyter Notebook ou Google Colab).
C’est le rôle de la fonction shap.initjs()
.
À quoi sert shap.initjs()
?
Cette commande :
-
Active les visualisations interactives en JavaScript dans le notebook.
-
Charge les dépendances nécessaires pour rendre des graphiques dynamiques et animés.
-
Est souvent requise pour les fonctions comme
shap.force_plot()
lorsqu’on souhaite un affichage graphique riche et fluide.
Fonctions :
-
shap.initjs()
La fonction shap.initjs() est utilisée pour initialiser le code JavaScript nécessaire pour afficher les graphiques interactifs produits par la bibliothèque SHAP (SHapley Additive exPlanations). Cette fonction charge les scripts JavaScript dans l'environnement Jupyter (ou d'autres environnements compatibles), permettant ainsi une visualisation interactive des résultats d'explications des modèles de machine learning. Elle est généralement utilisée avant de générer des visualisations interactives avec SHAP, telles que des graphiques de valeur de Shapley pour l'interprétation des prédictions.
Importation :
import shap
Attributs :
Aucun attribut spécifique n'est directement associé à
shap.initjs()
, car c'est une fonction d'initialisation de l'environnement graphique pour les visualisations.Exemple de code :
import shap import xgboost import shap from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split # Charger un jeu de données pour l'exemple X, y = make_classification(n_samples=1000, n_features=20, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Entraîner un modèle XGBoost model = xgboost.XGBClassifier() model.fit(X_train, y_train) # Initialiser les visualisations interactives SHAP shap.initjs() # Calculer les valeurs SHAP pour les prédictions du modèle explainer = shap.Explainer(model, X_train) shap_values = explainer(X_test) # Afficher un résumé des valeurs SHAP shap.summary_plot(shap_values, X_test)
Explication du code :
-
Jeu de données et modèle : Nous générons un jeu de données de classification avec
make_classification()
et le divisons en ensembles d'entraînement et de test. Un modèle XGBoost est ensuite entraîné sur les données d'entraînement. -
Initialisation de SHAP : Avant de générer des graphiques interactifs, nous appelons
shap.initjs()
pour charger les scripts nécessaires au rendu interactif dans l'environnement. -
Calcul des valeurs SHAP : Un objet
Explainer
est créé pour expliquer les prédictions du modèle XGBoost sur l'ensemble de test. La méthodeexplainer(X_test)
calcule les valeurs de Shapley, qui sont ensuite utilisées pour visualiser l'impact de chaque caractéristique sur la prédiction. -
Visualisation : Nous utilisons
shap.summary_plot()
pour afficher un graphique résumant l'importance de chaque caractéristique dans les prédictions du modèle, en utilisant les valeurs SHAP calculées.
Sortie attendue :
-
Un graphique interactif dans un environnement Jupyter montrant l'importance de chaque caractéristique pour les prédictions, avec la possibilité d'explorer les données de manière dynamique.
Applications :
-
Interprétation des modèles :
shap.initjs()
est essentiel pour afficher des visualisations interactives des explications des modèles, ce qui permet une meilleure compréhension de leur comportement et de leurs décisions. -
Explications locales et globales : Les valeurs SHAP peuvent être utilisées pour obtenir des explications locales sur les prédictions individuelles (par exemple, pourquoi un modèle a fait une certaine prédiction pour un échantillon) ainsi que des explications globales sur l'impact global des caractéristiques.
-