Génération d'ensembles de données SHAP lors des prédictions
Lors de l'exécution d'une prédiction, il est possible de générer des ensembles de données SHAP importance. Vous pouvez utiliser les calculs SHAP dans ces ensembles de données pour comprendre quelles caractéristiques contribuent le plus aux valeurs prédites.
Les ensembles de données SHAP contiennent des calculs SHAP au niveau de la ligne pour les caractéristiques utilisées pour former le modèle. Ces valeurs représentent le niveau de contribution de chaque caractéristique à la valeur prédite de la cible, par rapport à l'ensemble des autres caractéristiques de la ligne en question.
Par exemple, SHAP importance peut nous indiquer si une caractéristique nous rend plus ou moins susceptibles de perdre un client donné et dans quelle mesure cette caractéristique influence ce résultat.
Une fois que vous avez exécuté votre prédiction et généré les ensembles de données, vous pouvez charger les valeurs SHAP dans une application Qlik Sense et les visualiser avec les valeurs prédites. Pour des informations plus détaillées, voir Visualisation de valeurs de Shapley dans des applications Qlik Sense et Utilisation de valeurs de Shapley dans des applications pratiques.
Cette rubrique d'aide porte sur la génération d'ensembles de données SHAP lors de prédictions par des déploiements ML. Pour des informations sur les graphiques SHAP importance affichés lors de l'apprentissage de l'expérimentation, voir Familiarisation avec SHAP importance dans l'apprentissage d'une expérimentation.
Options disponibles pour la génération d'ensembles de données SHAP
Lors de la configuration d'une prédiction, vous pouvez décider de générer des ensembles de données SHAP dans deux formats différents. Les deux options fournissent les mêmes informations, mais sont structurées différemment.
SHAP
Il s'agit d'un ensemble de données dans lequel les valeurs SHAP sont divisées de sorte à avoir une colonne pour chaque caractéristique. Cette option n'est pas disponible pour les modèles de classification multiclasse.
Coordonnée SHAP
Il s'agit d'un ensemble de données dans lequel toutes les valeurs SHAP sont structurées dans seulement deux colonnes : une colonne 'feature' (caractéristique) et une colonne 'value' (valeur). Cette option est disponible pour tous les types de modèle.
Les ensembles de données provenant de modèles multiclasse fonctionnent légèrement différemment de ceux provenant de modèles binaires. Pour chaque enregistrement à prédire, une nouvelle ligne est créée avec la valeur SHAP pour chaque classe possible disponible à prédire par le modèle. Dans l'ensemble de données, une colonne supplémentaire est également créée pour identifier la classe représentée par la valeur SHAP.
Lors du chargement de prédictions et de valeurs SHAP dans une application Qlik Sense et de la création d'un modèle de données, il peut être plus facile d'utiliser des ensembles de données Coordonnée SHAP plutôt que des ensembles de données SHAP.
Exemples
Les tableaux suivants contiennent des échantillons d'ensembles de données SHAP et Coordonnée SHAP générés à partir d'un modèle de régression formée sur cinq caractéristiques. Les échantillons contiennent des valeurs SHAP pour deux enregistrements provenant de l'ensemble de données à appliquer (correspondant à deux ID de compte).
Ces exemples soulignent la différence dans la manière dont les données sont structurées.
AccountID | AdditionalFeatureSpend_SHAP | Churned_SHAP | CurrentPeriodUsage_SHAP | HasRenewed_SHAP | NumberOfPenalties_SHAP |
---|---|---|---|---|---|
aa16889 | 1.76830971241 | -0.58154511451721 | -1.106874704361 | -0.36080026626587 | 3.6597540378571 |
aa33396 | 0.80359643697739 | -0.64805734157562 | 0.076582334935665 | 0.38967734575272 | -0.31007811427116 |
AccountID | automl_feature | SHAP_value |
---|---|---|
aa16889 | AdditionalFeatureSpend | 1.76830971241 |
aa16889 | Churned | -0.58154511451721 |
aa16889 | CurrentPeriodUsage | -1.106874704361 |
aa16889 | HasRenewed | -0.36080026626587 |
aa16889 | NumberOfPenalties | 3.6597540378571 |
aa33396 | AdditionalFeatureSpend | 0.80359643697739 |
aa33396 | Churned | -0.64805734157562 |
aa33396 | CurrentPeriodUsage | 0.076582334935665 |
aa33396 | HasRenewed | 0.38967734575272 |
aa33396 | NumberOfPenalties | -0.31007811427116 |
Interprétation des valeurs des prédictions SHAP
Contrairement aux valeurs du graphique SHAP importance affiché lors de l'apprentissage de l'expérimentation, les ensembles de données SHAP contiennent des calculs SHAP au niveau de la ligne qui ont une directionalité. En d'autres termes, il ne s'agit pas de valeurs absolues, mais de valeurs positives ou négatives. Lors de la visualisation des valeurs dans une application, vous pouvez décider de les agréger sous forme de valeurs absolues, suivant votre cas d'utilisation.
La valeur SHAP d'un enregistrement doit être analysée en fonction de la valeur prédite correspondante de cet enregistrement. Suivant le type de modèle (classification binaire, classification multiclasse ou régression), la directionalité des valeurs SHAP peut être interprétée légèrement différemment.
Modèles de classification
Avec les modèles de classification binaire, les valeurs SHAP très positives indiquent une plus forte influence dans la direction de l'un des deux résultats possibles, tandis que les valeurs très négatives indiquent une plus forte influence dans la direction de l'autre résultat. Lors de l'utilisation des données dans une application, il se peut que la directionalité des valeurs SHAP ne permette pas d'obtenir l'analyse dont vous avez besoin. Pour résoudre ce problème, vous pouvez inverser la direction des valeurs SHAP (par exemple, en multipliant la colonne toute entière par -1). Pour plus d'informations sur la vérification de la direction SHAP, voir Préparations.
Un ensemble de données SHAP provenant d'un modèle multiclasse est structuré différemment. Pour chaque enregistrement à prédire, il inclut une ligne distincte pour chaque classe possible, avec une valeur SHAP correspondante pour cette classe. La classe est spécifiée dans une colonne 'Predicted_class'.
Dans votre ensemble de données Coordonnée SHAP, interprétez les valeurs SHAP provenant des prédictions d'un modèle multiclasse comme suit :
Une valeur SHAP très positive indique que la caractéristique a une plus forte influence pour que le résultat corresponde à la valeur 'Predicted_class' spécifiée.
Une valeur SHAP très négative indique que la caractéristique a une plus forte influence pour que le résultat ne corresponde pas à la valeur 'Predicted_class' spécifiée.
Exemple
L'exemple suivant montre la différence dans la structure de l'ensemble de données entre la sortie d'un modèle de classification binaire et la sortie d'un modèle de classification multiclasse.
Commençons par un ensemble de données à appliquer contenant une ligne par ID de compte. Chaque caractéristique sur laquelle le modèle est formé est représentée sous forme de colonne distincte.
Un seul enregistrement d'ID de compte prendrait la forme suivante :
AccountID | AdditionalFeatureSpend | BaseFee | CurrentPeriodUsage | HasRenewed | NumberOfPenalties |
---|---|---|---|---|---|
aa16889 | 18 | 33.52 | 210.1 | yes | 4 |
Si nous formons un modèle de classification binaire pour qu'il prédise le résultat d'un champ Churned, il existera deux résultats possibles : 'yes' ou 'no'. Étant donné l'enregistrement d'ID de compte unique ci-dessus, l'ensemble de données Coordonnée SHAP de cet enregistrement prendrait la forme suivante :
AccountID | automl_feature | SHAP_value |
---|---|---|
aa16889 | AdditionalFeatureSpend | -0.049129267835076 |
aa16889 | BaseFee | -1.5363064624041 |
aa16889 | CurrentPeriodUsage | 0.10787960191299 |
aa16889 | HasRenewed | 1.2441783315923 |
aa16889 | NumberOfPenalties | 2.3803616183224 |
Le tableau ci-dessus indique les valeurs SHAP d'un seul ID de compte, réparties par caractéristique. Une nouvelle ligne est créée pour chaque caractéristique, et à chaque caractéristique est attribuée une valeur SHAP. Il convient d'évaluer la direction et la magnitude de ces valeurs SHAP par rapport aux deux résultats possibles. Dans l'idéal, plus la valeur SHAP est importante, plus l'influence de la caractéristique est forte pour que le résultat ait une interprétation positive (dans ce cas, 'yes'). Si cette représentation est inversée, vous pouvez inverser la direction des valeurs SHAP (en les multipliant par -1) pour faciliter l'interprétation de l'analyse.
Pour comparer, imaginons que vous formiez un modèle de classification multiclasse pour prédire un champ PlanType catégorique (avec quatre résultats possibles : 'Blue Plan', 'Green Plan', 'Purple Plan' et 'Red Plan'). Étant donné l'enregistrement d'ID de compte unique du premier tableau, l'ensemble de données Coordonnée SHAP de cet enregistrement prendrait la forme suivante :
AccountID | automl_feature | Predicted_class | SHAP_value |
---|---|---|---|
aa16889 | AdditionalFeatureSpend | Blue Plan | 0.004155414339679 |
aa16889 | AdditionalFeatureSpend | Green Plan | 0.0066376343942741 |
aa16889 | AdditionalFeatureSpend | Purple Plan | -0.014411468558894 |
aa16889 | AdditionalFeatureSpend | Red Plan | 0.003618419824941 |
aa16889 | BaseFee | Blue Plan | 0.089301017079318 |
aa16889 | BaseFee | Green Plan | 0.28876498452748 |
aa16889 | BaseFee | Purple Plan | 0.055689421438434 |
aa16889 | BaseFee | Red Plan | -0.43375542304524 |
aa16889 | CurrentPeriodUsage | Blue Plan | -0.0040098954629816 |
aa16889 | CurrentPeriodUsage | Green Plan | -0.27902537442842 |
aa16889 | CurrentPeriodUsage | Purple Plan | -0.21871561841248 |
aa16889 | CurrentPeriodUsage | Red Plan | 0.50175088830388 |
aa16889 | HasRenewed | Blue Plan | -0.011878031228962 |
aa16889 | HasRenewed | Green Plan | 0.036835618725654 |
aa16889 | HasRenewed | Purple Plan | 0.13798314881109 |
aa16889 | HasRenewed | Red Plan | -0.16294073630778 |
aa16889 | NumberOfPenalties | Blue Plan | 0.20519095034486 |
aa16889 | NumberOfPenalties | Green Plan | 0.0015682625647107 |
aa16889 | NumberOfPenalties | Purple Plan | -0.084355421853302 |
aa16889 | NumberOfPenalties | Red Plan | -0.12240379105627 |
Dans le tableau ci-dessus, un seul ID de compte est représenté par 20 lignes distinctes : une ligne pour chaque caractéristique, avec une ligne pour la valeur SHAP correspondant à chaque résultat possible dans la cible. La colonne Predicted_class représente le résultat (la classe) possible à prédire, mais pas forcément le résultat prédit effectif affiché dans l'ensemble de données de prédiction. Au final, la classe avec la valeur SHAP la plus haute devient la valeur prédite pour l'enregistrement.
Les valeurs SHAP de ce tableau sont des mesures de l'influence de cette caractéristique spécifiée (automl_feature) pour que le résultat soit la classe spécifiée (Predicted_class). Une valeur très positive indique que la caractéristique influence fortement le résultat prédit pour qu'il soit la classe spécifiée, tandis qu'une valeur très négative indique que la caractéristique influence fortement le résultat prédit pour qu'il ne soit pas la classe spécifiée.
Modèles de régression
Dans un ensemble de données SHAP généré à partir d'un modèle de régression, la direction des valeurs SHAP est plus facile à interpréter.
Une valeur SHAP positive correspond à une augmentation de la valeur prédite pour la ligne.
Une valeur SHAP négative correspond à une diminution de la valeur prédite pour la ligne.
Calcul de valeurs de Shapley
Des valeurs de Shapley sont calculées pour une variété d'algorithmes. Les valeurs SHAP importance sont calculées à l'aide de deux méthodes distinctes :
Arborescence SHAP : méthode rapide et exacte permettant d'estimer les valeurs de Shapley de trois modèles d'arborescence
SHAP linéaire : méthode permettant de calculer des valeurs de Shapley pour des modèles linéaires
Algorithme | Types de modèle pris en charge | Méthode de calcul SHAP |
---|---|---|
Classification Forêt d'arbres décisionnels | Classification binaire, classification multiclasse | Arborescence SHAP |
Classification XGBoost | Classification binaire, classification multiclasse | Arborescence SHAP |
Classification LightGBM | Classification binaire, classification multiclasse | Arborescence SHAP |
Classification CatBoost | Classification binaire, classification multiclasse | Arborescence SHAP |
Régression logistique | Classification binaire, classification multiclasse | SHAP linéaire |
Régression Lasso | Classification binaire, classification multiclasse | SHAP linéaire |
Régression du filet élastique | Classification binaire, classification multiclasse | SHAP linéaire |
Classification naïve bayésienne gaussienne | Classification binaire, classification multiclasse | SHAP non calculé |
Régression CatBoost | Régression | Arborescence SHAP |
Régression LightGBM | Régression | Arborescence SHAP |
Régression linéaire | Régression | SHAP linéaire |
Régression Forêt d'arbres décisionnels | Régression | Arborescence SHAP |
Régression SGD | Régression | SHAP linéaire |
Régression XGBoost | Régression | Arborescence SHAP |