Accéder au contenu principal Passer au contenu complémentaire

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 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.

SHAP dataset sample
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
Coordinate SHAP dataset sample
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend1.76830971241
aa16889Churned-0.58154511451721
aa16889CurrentPeriodUsage-1.106874704361
aa16889HasRenewed-0.36080026626587
aa16889NumberOfPenalties3.6597540378571
aa33396AdditionalFeatureSpend0.80359643697739
aa33396Churned-0.64805734157562
aa33396CurrentPeriodUsage0.076582334935665
aa33396HasRenewed0.38967734575272
aa33396NumberOfPenalties-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 :

Single record from a dataset on which predictions will be generated
AccountIDAdditionalFeatureSpendBaseFeeCurrentPeriodUsageHasRenewedNumberOfPenalties
aa1688918 33.52210.1yes4

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 :

Sample from coordinate SHAP dataset for binary classification model prediction
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend-0.049129267835076
aa16889BaseFee-1.5363064624041
aa16889CurrentPeriodUsage0.10787960191299
aa16889HasRenewed1.2441783315923
aa16889NumberOfPenalties2.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 :

Sample from coordinate SHAP dataset for multiclass classification model prediction
AccountIDautoml_featurePredicted_classSHAP_value
aa16889AdditionalFeatureSpendBlue Plan0.004155414339679
aa16889AdditionalFeatureSpendGreen Plan0.0066376343942741
aa16889AdditionalFeatureSpendPurple Plan-0.014411468558894
aa16889AdditionalFeatureSpendRed Plan0.003618419824941
aa16889BaseFeeBlue Plan0.089301017079318
aa16889BaseFeeGreen Plan0.28876498452748
aa16889BaseFeePurple Plan0.055689421438434
aa16889BaseFeeRed Plan-0.43375542304524
aa16889CurrentPeriodUsageBlue Plan-0.0040098954629816
aa16889CurrentPeriodUsageGreen Plan-0.27902537442842
aa16889CurrentPeriodUsagePurple Plan-0.21871561841248
aa16889CurrentPeriodUsageRed Plan0.50175088830388
aa16889HasRenewedBlue Plan-0.011878031228962
aa16889HasRenewedGreen Plan0.036835618725654
aa16889HasRenewedPurple Plan0.13798314881109
aa16889HasRenewedRed Plan-0.16294073630778
aa16889NumberOfPenaltiesBlue Plan0.20519095034486
aa16889NumberOfPenaltiesGreen Plan0.0015682625647107
aa16889NumberOfPenaltiesPurple Plan-0.084355421853302
aa16889NumberOfPenaltiesRed 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

Algorithmes disponibles par types de modèle et méthode de calcul SHAP
AlgorithmeTypes de modèle pris en chargeMéthode de calcul SHAP
Classification Forêt d'arbres décisionnels Classification binaire, classification multiclasseArborescence SHAP
Classification XGBoostClassification binaire, classification multiclasseArborescence SHAP
Classification LightGBMClassification binaire, classification multiclasseArborescence SHAP
Classification CatBoostClassification binaire, classification multiclasseArborescence SHAP
Régression logistiqueClassification binaire, classification multiclasseSHAP linéaire
Régression LassoClassification binaire, classification multiclasseSHAP linéaire
Régression du filet élastiqueClassification binaire, classification multiclasseSHAP linéaire
Classification naïve bayésienne gaussienneClassification binaire, classification multiclasseSHAP non calculé
Régression CatBoostRégressionArborescence SHAP
Régression LightGBMRégressionArborescence SHAP
Régression linéaireRégressionSHAP linéaire
Régression Forêt d'arbres décisionnelsRégressionArborescence SHAP
Régression SGDRégressionSHAP linéaire
Régression XGBoostRégressionArborescence SHAP

En savoir plus

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !