L’analyse exploratoire des données, également connue sous le nom d’EDA, est devenue un sujet de plus en plus brûlant en science des données. Comme son nom l’indique, il s’agit d’un processus d’essais et d’erreurs dans un espace incertain, dans le but de trouver des informations. Cela se produit généralement au début du cycle de vie de la science des données. Dans cette page, je présente un processus EDA semi-automatisé (analyse semi-automatique des données).
Contenus
ToggleL'analyse semi-automatique des données : connaître ses données
J’utiliserai quatre bibliothèques principales : Numpy — pour travailler avec des tableaux ; Pandas – pour manipuler les données dans un format de feuille de calcul que nous connaissons ; Seaborn et matplotlib — pour créer une visualisation de données.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np from pandas.api.types
import is_string_dtype, is_numeric_dtype
Créez un bloc de données à partir de l’ensemble de données importé en copiant le chemin de l’ensemble de données et utilisez df.head(5) pour jeter un coup d’œil aux 5 premières lignes des données.
Avant de zoomer sur chaque champ, examinons d’abord les caractéristiques générales de l’ensemble de données. info() donne le nombre de valeurs non nulles pour chaque colonne et son type de données.
describe() fournit des statistiques de base sur chaque colonne. En passant le paramètre « include = ‘all' », il génère le nombre de valeurs, le nombre unique, la valeur de fréquence supérieure des variables catégorielles et le nombre, la moyenne, l’écart type, le min, le max et le centile des variables numériques.
Valeur manquante et préprocessing
Concernant le sujet des valeurs manquantes, je vous invite à choisir l’onglet Corrélation et Régressions dans la rubrique Data Analysis.
Analyse univariée
La fonction describe() mentionnée dans la première section a déjà fourni une analyse univariée de manière non graphique. Dans cette section, nous allons générer plus d’informations en visualisant les données et repérer les modèles cachés grâce à une analyse graphique.
Variables de catégories → Histogrammes
Le moyen le plus simple et le plus intuitif de visualiser la propriété d’une variable catégorique consiste à utiliser un graphique à barres pour tracer la fréquence de chaque valeur catégorique.
Variables quantitatives → Histogrammes
Pour représenter graphiquement la distribution des variables numériques, nous pouvons utiliser un histogramme qui est très similaire à un graphique à barres. Il divise les nombres continus en groupes de taille égale et trace la fréquence des enregistrements compris entre l’intervalle.
J’utilise cette boucle for pour parcourir les colonnes du bloc de données et créer un tracé pour chaque colonne. Utilisez ensuite un histogramme s’il s’agit de variables numériques et un graphique à barres s’il s’agit de variables catégorielles.
Analyse multivariée : quantitative vs quantitative
Une partie très importante de analyse semi-automatique des données est l’analyse multivariée, comment les colonnes s’influencent entre elles.
Tout d’abord, utilisons la matrice de corrélation pour trouver la corrélation de toutes les colonnes de type de données numériques. Utilisez ensuite une carte thermique pour visualiser le résultat. L’annotation à l’intérieur de chaque cellule indique le coefficient de corrélation de la relation.
Deuxièmement, puisque la matrice de corrélation n’indique que la force de la relation linéaire, il est préférable de tracer les variables numériques à l’aide de la fonction seaborn sns.pairplot(). Notez que les fonctions sns.heatmap() et sns.pairplot() ignorent les types de données non numériques.
Voici un exemple avec un autre jeu de données :
Le diagramme de paires ou le nuage de points est un bon complément à la matrice de corrélation, en particulier lorsque des relations non linéaires (par exemple, relation exponentielle, inverse) peuvent exister. Par exemple, la relation inverse entre « Rang » et « Ventes » observée dans l’ensemble de données sur les restaurants peut être confondue avec une relation linéaire forte si nous regardons simplement le nombre « – 0,92 » dans la matrice de corrélation.
Catégorie vs Catégorie
La relation entre deux variables catégorielles peut être visualisée à l’aide d’histogrammes groupés. La fréquence des variables catégorielles primaires est ventilée par la catégorie secondaire. Ceci peut être réalisé en utilisant sns.countplot().
J’utilise une boucle for imbriquée, où la boucle externe parcourt toutes les variables catégorielles et les affecte comme catégorie principale, puis la boucle interne parcourt à nouveau la liste pour associer la catégorie principale à une autre catégorie secondaire.
Dans un graphique à barres groupées, si la distribution de fréquence suit toujours le même modèle dans différents groupes, cela suggère qu’il n’y a pas de dépendance entre la catégorie primaire et la catégorie secondaire. Cependant, si la distribution est différente, cela indique qu’il est probable qu’il existe une dépendance entre deux variables.
Catégorie vs Quantitatif
La boîte à moustaches est généralement adoptée lorsque nous devons comparer la variation des données numériques entre les groupes. Il s’agit d’un moyen intuitif de représenter graphiquement si la variation des caractéristiques catégorielles contribue à la différence de valeurs, qui peut en outre être quantifiée à l’aide de l’analyse ANOVA.
Dans ce processus, j’associe chaque colonne de la liste catégorique à toutes les colonnes de la liste numérique et trace la boîte à moustaches en conséquence.
Dans l’ensemble de données « reddit_wsb », aucune différence significative n’est observée entre les différentes catégories.
Voyons les différences qui peuvent exister à l’aide d’un autre jeu de données.
Une autre approche est basée sur le pairplot que nous avons effectué plus tôt pour le numérique par rapport au numérique. Pour introduire la variable catégorielle, nous pouvons utiliser différentes teintes à représenter. Tout comme ce que nous avons fait pour countplot. Pour ce faire, nous pouvons simplement parcourir la liste catégorique et ajouter chaque élément comme teinte du pairplot.
Voici les résultats sur le deuxième jeu de données :
Ceci marque la fin de notre analyse semi-automatique des données dont vous pouvez vous servir pour tous vos jeu de données.