Maison > Article > Périphériques technologiques > Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash
L'interprétabilité et la compréhensibilité des modèles ont été au centre de nombreux articles de recherche et projets open source. Et de nombreux projets sont dotés d’experts en données et de professionnels qualifiés.
Shapash fonctionne avec la plupart des modèles sklearn, lightgbm, xgboost, catboost et peut être utilisé pour des tâches de classification et de régression. Il utilise le backend Shap pour calculer la contribution locale des fonctionnalités, cependant, cela peut être remplacé par une autre stratégie de calcul de la contribution locale. Les data scientists peuvent exploiter l'interpréteur Shapash pour étudier et dépanner leurs modèles, ou le déployer pour fournir des visualisations de chaque inférence. Et il peut également être utilisé pour créer des applications Web susceptibles d’apporter une valeur considérable aux clients finaux et aux entrepreneurs.
bibliothèque shabash
Tracé et sortie à l'aide d'étiquettes pour chaque composant et son modèle :
application Web de la bibliothèque Shapash
3 Résumé et explication de l'exportation
4. Rapport complet de science des données
Caractéristiques de Shapash
1. Modèle d'apprentissage automatique : Il convient aux problèmes de classification (problèmes binaires ou multi-classes) et de régression. Il prend en charge plusieurs modèles tels que Catboost, Xgboost, LightGBM, Sklearn Ensemble, les modèles linéaires et SVM.
2. Encodage de fonctionnalités : il prend en charge un grand nombre de techniques d'encodage pour traiter les caractéristiques catégorielles de notre ensemble de données, telles que l'encodage à chaud, l'encodage ordinal, l'encodage Base N, l'encodage cible ou l'encodage binaire, etc.
3.SklearnColumnTransformer : OneHotEncoder, OrdinalEncoder, StandardScaler, QuantileTransformer ou PowerTransformer
4.Visualisation : Fournit un ensemble d'effets visuels pour expliquer facilement vos résultats et afficher des résultats compréhensibles et clairs.
5. Il est compatible avec Lime et Shap. Il utilise le backend Shap pour afficher les résultats en quelques lignes de code seulement.
6. Il offre de nombreuses options de paramètres pour obtenir des résultats concis.
7.Shapash est facile à installer et à utiliser : il fournit une classe SmartExplainer pour comprendre votre modèle, le résumer et le clarifier avec une syntaxe simple.
8. Déploiement : L'investigation et le déploiement (via API ou mode batch) pour une utilisation opérationnelle sont importants. Créez facilement des applications Web pour naviguer du global au local.
9. Grande polyvalence : Pour afficher les résultats, de nombreux arguments sont nécessaires. Mais plus vous nettoyez et archivez vos données, plus les résultats seront clairs pour vos clients finaux.
Comment fonctionne Shapash
Comment fonctionne Shapash
Shapash peut être installé à l'aide du code suivant :
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">pip</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">install</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">shapash</span>
Pour Jupyter Notebook : Si vous utilisez Jupyter Notebook et souhaitez voir des graphiques en ligne, vous devez utiliser une autre commande :
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">pip</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">install</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">ipywidgets</span>
Ici, nous allons explorer Shapash en utilisant l'ensemble de données de prévision du prix de l'immobilier. Il s’agit d’un problème de régression et nous devons prédire les prix de l’immobilier. Nous analysons d'abord l'ensemble de données, y compris les analyses univariées et bivariées, puis modélisons l'interprétabilité en utilisant l'importance des fonctionnalités, la contribution des fonctionnalités, les tracés locaux et de comparaison, puis les performances du modèle et enfin la WebApp.
Analyse univariée
En utilisant, vous pouvez voir l'image ci-dessous pour comprendre l'élément appelé Pieds carrés du premier étage. Nous pouvons voir un tableau qui présente diverses statistiques pour nos ensembles de données de formation et de test, telles que la moyenne, le maximum, le minimum, l'écart type, la médiane, etc. Dans la figure de droite, vous pouvez voir les diagrammes de distribution des ensembles de données d'entraînement et de test. Shapash mentionne également si nos fonctionnalités sont catégorielles ou numériques et fournit également une option déroulante où toutes les fonctionnalités sont disponibles.
Analyse univariée
Pour les fonctionnalités catégorielles, les ensembles de données d'entraînement et de test affichent des valeurs non dupliquées et manquantes. Sur la droite, un graphique à barres s'affiche montrant le pourcentage de la catégorie correspondante dans chaque fonctionnalité.
Catégories dans les fonctionnalités
Analyse cible
Vous pouvez également voir une analyse détaillée de la variable cible appelée Prix de vente. Sur la gauche, toutes les statistiques telles que le nombre, la moyenne, l'écart type, le minimum, le maximum, la médiane, etc. sont affichées pour les ensembles de données d'entraînement et de prédiction. Sur la droite, les distributions des ensembles de données d'entraînement et de prédiction sont affichées.
Analyse cible
Analyse multivariée
Nous avons discuté en détail de l'analyse univariée ci-dessus. Dans cette section, nous examinerons l'analyse multivariée. La figure suivante montre la matrice de corrélation pour les 20 premières caractéristiques des ensembles de données de formation et de test. L'échelle de corrélation est également affichée en fonction de différentes couleurs. C'est ainsi que nous utilisons Shapash pour visualiser les relations entre les fonctionnalités.
Analyse multivariée
Tracé de l'importance des fonctionnalités
En utilisant cette bibliothèque, nous pouvons voir l'importance de la fonctionnalité. L'importance des caractéristiques est une méthode permettant de déterminer l'importance des caractéristiques d'entrée dans la prévision des valeurs de sortie. La figure ci-dessous montre la courbe d'importance des fonctionnalités :
Tracé d'importance des fonctionnalités
Tracé de contribution des fonctionnalités
Ces courbes nous aident à répondre à des questions telles que comment une fonctionnalité affecte-t-elle mes prédictions, sa contribution est-elle positive ou négative, etc. attendez. Ce diagramme complète l'importance de l'interprétabilité du modèle, la cohérence globale du modèle le rendant plus susceptible de comprendre l'impact des fonctionnalités sur le modèle.
Nous pouvons voir les tracés de contribution des caractéristiques numériques et catégorielles.
Pour les caractéristiques numériques
Tracé de contribution de personnage
Pour les caractéristiques catégorielles
Pour les caractéristiques catégorielles
Tracés partiels
Nous pouvons dessiner des éléments locaux des parcelles. L'image ci-dessous montre une image partielle :
Diagramme partiel
Diagramme de comparaison
Nous pouvons dessiner des diagrammes de comparaison. L'image ci-dessous montre le graphique de comparaison :
Graphique de comparaison
Après l'analyse des données, nous entraînons le modèle d'apprentissage automatique. L'image ci-dessous montre le résultat de notre prédiction. Sur la gauche, des statistiques telles que le nombre, le minimum, le maximum, la médiane, l'écart type, etc. sont affichées pour les valeurs vraies et prédites. À droite, la distribution des valeurs prédites et réelles est affichée.
Performance du modèle
Après la formation du modèle, nous pouvons également créer une WebApp. Cette application Web affiche un tableau de bord complet de nos données, y compris ce que nous avons couvert jusqu'à présent. L'image ci-dessous montre le tableau de bord.
WebApp
Adresse du projet : https://github.com/MAIF/shapash
Cet article présente brièvement les fonctions de base et l'affichage des dessins de shapash. Je pense que tout le monde le connaît. bibliothèque python Une certaine compréhension.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!