Jusqu'à présent, EDA utilisait pandas-profiling, mais Sweetviz Je vois parfois quelque chose comme ça, alors je l'ai essayé.
Les données utilisées étaient données Titanic.
EDA signifie ** Analyse des données explicatives **. Lors de l'exécution de travaux d'analyse de données tels que l'apprentissage automatique, les travaux suivants sont effectués dans le but de comprendre les données. --Visualisation de données --Comprendre les caractéristiques des données --Comprendre la relation entre les données
Si vous regardez dans les détails de l'EDA, vous en trouverez beaucoup, je vais donc l'omettre dans cet article. Veuillez vous référer aux articles suivants. ・ [Introduction to Data Scientists] Essayons les opérations de base de l'analyse exploratoire des données (EDA) en utilisant Python ・ Qu'est-ce que l'EDA (Exploratory Data Analysis)? ・ Analyse exploratoire des données (EDA)
Sweetviz est une bibliothèque qui peut effectuer diverses tâches lors de l'exécution semi-automatique de l'EDA. Je présenterai immédiatement un exemple d'exécution avec Titanic data.
Après l'exécution, le html ci-dessus sera créé. Regardons le contenu en trois parties.
Dans la partie (1), vous pouvez vérifier les ** caractéristiques de l'ensemble des données ** et le ** coefficient de corrélation **. Dans l'ensemble, le gros avantage de Sweetviz est que vous pouvez voir ** les données d'entraînement et les données d'inférence séparément **. Dans la partie de la figure ** pour chacune des données d'apprentissage et des données d'inférence ** Vous pouvez vérifier le contenu suivant.
Vous pouvez également vérifier le coefficient de corrélation en appuyant sur le bouton ** Associations **.
Ce qui précède est un exemple avec des données d'entraînement, mais comme il peut également être confirmé avec des données d'inférence, Il peut être possible de deviner s'il y a une différence dans la distribution en regardant la différence du coefficient de corrélation entre les données d'apprentissage et les données d'inférence.
Dans la partie de ②, vous pouvez confirmer les choses suivantes.
Il est naturel que la distribution puisse être vue, Il est très pratique de voir ** «Taux positif» ** et ** «Comparaison des données d'entraînement et des données d'inférence» **. En regardant ces
Il est possible de prédire beaucoup à l'avance avant de mettre en œuvre des algorithmes d'IA pour calculer la précision et la descriptivité des prédictions telles que LIME / SHAP. Si vous pouvez prédire à l'avance, vous ne croirez pas aveuglément les résultats de l'IA et il sera plus facile de considérer les résultats.
Dans la partie (3), vous pouvez consulter des informations un peu plus détaillées sur chaque montant de fonctionnalité.
Par exemple, en plus des informations de ②, le contenu suivant s'affiche.
C'est normal ici. ** La liste par ordre décroissant de valeur ** ne peut être vue que dans le top 5 du profilage pandas, donc si vous voulez en voir un peu plus ou s'il y a 5 valeurs aberrantes ou plus, Sweetviz est efficace. Cependant, après tout, il était également affiché dans ②
On dirait les ** avantages de l'utilisation de Sweetviz **.
Le code et la sortie html de Sweetviz sont placés dans le git suivant. Vous pouvez simplement regarder le html, et il est assez facile de déplacer le code. https://github.com/yuomori0127/sweetviz_titanic
La formule est ci-dessous. Sweetviz
Nous examinerons également ** pandas-profiling **, une bibliothèque pour le même EDA. L'exemple d'implémentation Titanic de ** pandas-profiling ** est publié sur colab.
https://colab.research.google.com/github/pandas-profiling/pandas-profiling/blob/master/examples/titanic/titanic.ipynb
Je pense que c'est plus que suffisant, car cela vous donnera simplement en entrant les données. Ou plutôt, je l'ai beaucoup utilisé.
Les avantages du profilage des pandas que Sweetviz n'a pas ** Il suggère des variables explicatives à supprimer lors du prétraitement des données **. Comme le montre la figure
--Beaucoup de cardinalité (nombre de types de valeurs) --Beaucoup de valeurs manquantes --Beaucoup de zéros
Etc. ** Suggérer des variables explicatives à supprimer lors du prétraitement des données **. C'est une fonction très pratique que Sweetviz n'ait pas à suggérer sans avoir à regarder le diagramme et la distribution et à dessiner le seuil par vous-même.
La formule est la suivante. pandas-profiling
J'ai fait un tableau de comparaison de Sweetviz et de pandas-profiling.
Il a à la fois les fonctions de base de l'EDA, Les détails sont un peu différents. De plus, je ne peux pas lister toutes les fonctionnalités, donc j'en ai extrait pas mal.
# | Éléments de comparaison | Sweetviz | pandas-profiling |
---|---|---|---|
1 | Affichage de la distribution | 〇 | 〇 |
2 | Affichage des statistiques de base | 〇 | 〇 |
3 | Affichage du taux de perte | 〇 | 〇 |
4 | Affichage du coefficient de corrélation | 〇 | 〇 |
5 | Affichage des données par ordre de fréquence | 〇 | 〇 |
6 | Affichage des données par ordre de valeur | 〇 | △(Seulement 5) |
7 | Affichage du taux positif | 〇 | × |
8 | Comparaison des données d'entraînement et des données d'inférence | 〇 | × |
9 | Suggérer des variables explicatives à supprimer | × | 〇 |
Personnellement, je recommande ** Sweetviz **.
Après tout, ** «Afficher le taux positif» ** et ** «Comparaison des données d'entraînement et des données d'inférence» ** sont très pratiques. L'avantage du profilage pandas est ** "Suggestion de variables explicatives à supprimer" **, Bien sûr, c'est une fonctionnalité intéressante, mais ** il est impossible de ne pas voir les données après tout, et de ne pas y penser **, et je ne sais pas si la proposition est valide, donc je n'y fais pas référence après tout. Cependant, je suis reconnaissant du ** potentiel de prévention des oublis **.
Il est difficile de décider de la supériorité ou de l'infériorité, mais les deux sont faciles à déplacer, alors essayez les deux et utilisez celui qui vous convient!
Recommended Posts