Maison  >  Article  >  Périphériques technologiques  >  Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

WBOY
WBOYavant
2023-04-09 15:11:111266parcourir


Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Qu'est-ce que 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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

bibliothèque shabash

Objectifs de Shapash

1. Afficher des résultats clairs et raisonnables

Tracé et sortie à l'aide d'étiquettes pour chaque composant et son modèle :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

2. entre les quartiers mondiaux et locaux peuvent être facilement explorés à l'aide d'une application Web pour comprendre rapidement leur modèle et comprendre comment les différents points clés se déroulent :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapashapplication Web de la bibliothèque Shapash

3 Résumé et explication de l'exportation

Shapash propose. une explication courte et claire. Il permet à chaque client, quel que soit son parcours, de comprendre une explication claire du modèle d'hébergement car les fonctionnalités de Shapash sont résumées et clairement expliquées.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash4. Rapport complet de science des données

Le rapport de données complet peut être consulté ici : https://shapash-demo.ossbymaif.fr/

Caractéristiques de Shapash

Certaines fonctionnalités de Shapash sont les suivantes :

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash Comment fonctionne Shapash

Shapash est une bibliothèque Python qui rend l'apprentissage automatique facile à comprendre et à interpréter. Les passionnés de données peuvent facilement comprendre et partager leurs modèles. Shapash utilise Lime et Shap comme backend pour afficher les résultats en quelques lignes de code seulement. Shapash s'appuie sur diverses avancées importantes dans la création de modèles d'apprentissage automatique pour rendre les résultats raisonnables. L'image ci-dessous montre le flux de travail du package shapash :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash Comment fonctionne Shapash

Comment ça marche

  1. Tout d'abord, il compile les éléments de chaque étape, tels que la préparation des données, l'ingénierie des fonctionnalités, l'ajustement du modèle, l'évaluation du modèle et la compréhension du modèle.
  2. Deuxièmement, il fournit une WebApp et des diagrammes pour mieux comprendre le modèle. Les résultats du modèle peuvent être partagés et discutés avec les clients.
  3. Enfin, il vous donne un résumé de l'interprétabilité.

Installation

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>

Getting Started

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 de l'ensemble de données

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

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

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Analyse multivariée

Interprétabilité du modèle

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 :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

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

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Tracé de contribution de personnage

Pour les caractéristiques catégorielles

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

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 :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Diagramme partiel

Diagramme de comparaison

Nous pouvons dessiner des diagrammes de comparaison. L'image ci-dessous montre le graphique de comparaison :

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Graphique de comparaison

Performance du modèle

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

Performance du modèle

WebApp

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.

Un autre artefact d'interprétation de modèle d'apprentissage automatique : Shapash

WebApp

Adresse du projet : https://github.com/MAIF/shapash

Écrit à la fin

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer