recherche
Maisondéveloppement back-endTutoriel PythonANALYSE EXPLORATOIRE DE DONNÉES (EDA) AVEC PYTHON : DÉCOUVRIR DES APERÇUS À PARTIR DES DONNÉES

EXPLORATORY DATA ANALYSIS (EDA) WITH PYTHON: UNCOVERING INSIGHTS FROM DATA

ANALYSE EXPLORATOIRE DE DONNÉES (EDA) AVEC PYTHON : DÉCOUVRIR DES APERÇUS À PARTIR DES DONNÉES.

INTRODUCTION
L'analyse exploratoire des données (EDA) est cruciale dans l'analyse des données, car elle permet aux analystes de découvrir des informations et de préparer les données pour une modélisation ultérieure. Dans cet article, nous aborderons diverses techniques et outils EDA disponibles en Python, pour améliorer votre compréhension des données. Du nettoyage/traitement de votre ensemble de données à la visualisation de vos résultats et à l'utilisation de Python pour raconter des histoires avec des données.

Qu'est-ce que l'analyse exploratoire des données ?

L'analyse exploratoire des données (EDA) est une méthode d'analyse d'ensembles de données pour comprendre leurs principales caractéristiques. Cela implique de résumer les caractéristiques des données, de détecter des modèles et de découvrir des relations grâce à des techniques visuelles et statistiques. EDA aide à obtenir des informations et à formuler des hypothèses pour une analyse plus approfondie.

L'analyse exploratoire des données (EDA) en Python utilise diverses techniques essentielles pour découvrir des informations à partir des données. L'une des techniques fondamentales implique la visualisation de données à l'aide de bibliothèques telles que Matplotlib et Seaborn. Ces outils permettent aux data scientists de créer différents types de tracés, notamment des nuages ​​de points, des histogrammes et des diagrammes en boîte, qui sont essentiels pour comprendre la distribution et les relations au sein des ensembles de données.

En visualisant les données, les analystes peuvent identifier les tendances, les valeurs aberrantes et les modèles qui peuvent ne pas être évidents par la seule analyse numérique.

Une autre technique cruciale dans l'EDA est le nettoyage et la manipulation des données, principalement facilitées par la bibliothèque Pandas. Cela implique de traiter des ensembles de données en gérant les valeurs manquantes, en filtrant les données et en utilisant des fonctions d'agrégation pour résumer les informations. L'application de fonctions telles que « groupby » permet aux utilisateurs de segmenter les données en catégories significatives, facilitant ainsi une analyse plus claire. De plus, l'intégration de méthodes statistiques telles que l'analyse de corrélation permet de mieux comprendre les relations entre les variables, aidant ainsi à formuler des hypothèses qui peuvent être testées dans une analyse plus structurée.

COMMENT RÉALISER UNE EDA À L'AIDE DE PYTHON

Étape 1 : Importer des bibliothèques Python

La première étape du ML utilisant Python consiste à comprendre et à jouer avec nos données à l'aide de bibliothèques. Vous pouvez utiliser ce lien pour obtenir un ensemble de données sur le site Kaggle : https://www.kaggle.com/datasets/sukhmanibedi/cars4u
Importez toutes les bibliothèques requises pour notre analyse, telles que celles pour le chargement des données, l'analyse statistique, les visualisations, les transformations de données, ainsi que la fusion et la jointure.

Pandas et Numpy ont été utilisés pour la manipulation de données et les calculs numériques
Matplotlib et Seaborn ont été utilisés pour les visualisations de données.
CODE :
importer des pandas en tant que pd
importer numpy en tant que np
importer matplotlib.pyplot en tant que plt
importer Seaborn en tant que Sns
Pour ignorer les avertissements
importer des avertissements
warns.filterwarnings('ignore')

ÉTAPE 2 : LECTURE DE L'ENSEMBLE DE DONNÉES

La bibliothèque python Pandas offre un large éventail de possibilités pour charger des données dans le DataFrame pandas à partir de fichiers tels que des images, .csv, .xlsx, .sql, .pickle, .html, .txt, etc.
La plupart des données sont disponibles sous forme de tableau de fichiers CSV. C'est tendance et facile d'accès. À l'aide de la fonction read_csv(), les données peuvent être converties en un DataFrame pandas.
Dans cet article, les données permettant de prédire le prix des voitures d'occasion sont utilisées à titre d'exemple. Dans cet ensemble de données, nous essayons d’analyser le prix de la voiture d’occasion et la manière dont l’EDA se concentre sur l’identification des facteurs influençant le prix de la voiture. Nous avons stocké les données dans les données DataFrame.
data = pd.read_csv("used_cars.csv")

ANALYSE DES DONNÉES

Avant de faire des déductions, nous écoutons nos données en examinant toutes les variables des données.
L'objectif principal de la compréhension des données est d'obtenir des informations générales sur les données, qui couvrent le nombre de lignes et de colonnes, les valeurs dans les données, les types de données et les valeurs manquantes dans l'ensemble de données.
forme – la forme affichera le nombre d'observations (lignes) et d'entités (colonnes) dans l'ensemble de données
Il y a 7253 observations et 14 variables dans notre ensemble de données
head() affichera les 5 principales observations de l'ensemble de données
data.head()

tail() affichera les 5 dernières observations de l'ensemble de données
data.tail()
info() aide à comprendre le type de données et les informations sur les données, y compris le nombre d'enregistrements dans chaque colonne, les données nulles ou non nulles, le type de données, l'utilisation de la mémoire de l'ensemble de données

data.info()
data.info() montre que les variables Kilométrage, Moteur, Puissance, Sièges, Nouveau prix et Prix ont des valeurs manquantes. Les variables numériques comme le kilométrage, la puissance sont du type de données ; float64 et int64. Les variables catégorielles telles que Location, Fuel_Type, Transmission et Owner Type sont de type de données objet.

VÉRIFIER LA DUPLICATION

nunique() sur la base de plusieurs valeurs uniques dans chaque colonne et de la description des données, nous pouvons identifier les colonnes continues et catégorielles dans les données. Les données dupliquées peuvent être traitées ou supprimées sur la base d'une analyse plus approfondie.
data.nunique()

https://www.analyticsvidhya.com/blog/2022/07/step-by-step-exploratory-data-analysis-eda-using-python/

Calcul des valeurs manquantes

isnull() est largement présent dans toutes les étapes de prétraitement pour identifier les valeurs nulles dans les données
Dans notre exemple, data.isnull().sum() est utilisé pour obtenir le nombre d'enregistrements manquants dans chaque colonne
data.isnull().sum()

Le code ci-dessous permet de calculer le pourcentage de valeurs manquantes dans chaque colonne
(data.isnull().sum()/(len(data)))*100

Le pourcentage de valeurs manquantes pour les colonnes New_Price et Price est respectivement d'environ 86 % et ~17 %.

ÉTAPE 3 : RÉDUCTION DES DONNÉES

Certaines colonnes ou variables peuvent être supprimées si elles n'ajoutent pas de valeur à notre analyse.
Dans notre ensemble de données, la colonne S.No n'a que des valeurs d'ID, en supposant qu'elles n'ont aucun pouvoir prédictif pour prédire la variable dépendante.

Supprimer le numéro S. colonne de données

data = data.drop(['S.No.'], axis = 1)
data.info()

Nous commençons notre ingénierie des fonctionnalités car nous devons ajouter quelques colonnes requises pour l'analyse.

Étape 4 : Ingénierie des fonctionnalités

L'ingénierie des fonctionnalités fait référence au processus d'utilisation des connaissances du domaine pour sélectionner et transformer les variables les plus pertinentes à partir de données brutes lors de la création d'un modèle prédictif à l'aide de l'apprentissage automatique ou de la modélisation statistique. L'objectif principal de l'ingénierie des fonctionnalités est de créer des données significatives à partir de données brutes.

Étape 5 : Création de fonctionnalités

Nous allons jouer avec les variables Année et Nom dans notre ensemble de données. Si nous voyons les exemples de données, la colonne « Année » indique l'année de fabrication de la voiture.
Il serait difficile de trouver l’âge de la voiture s’il est au format annuel, car l’âge de la voiture est un facteur contribuant au prix de la voiture.
Présentation d'une nouvelle colonne, « Car_Age » pour connaître l'âge de la voiture
à partir de la date d'importation datetime
date.aujourd'hui().année
data['Car_Age']=date.today().year-data['Year']
data.head()

Étant donné que les noms de voitures ne seront pas de bons indicateurs du prix dans nos données actuelles. Mais nous pouvons traiter cette colonne pour extraire des informations importantes en utilisant les noms de marque et de modèle. Divisons le nom et introduisons de nouvelles variables « Marque » et « Modèle »
data['Marque'] = data.Name.str.split().str.get(0)
data['Modèle'] = data.Name.str.split().str.get(1) data.Name.str.split().str.get(2)
data[['Nom','Marque','Modèle']]

ÉTAPE 6 : NETTOYAGE/CONFÉRENCE DES DONNÉES
Certains noms de variables ne sont pas pertinents et difficiles à comprendre. Certaines données peuvent comporter des erreurs de saisie et certaines variables peuvent nécessiter une conversion de type de données. Nous devons résoudre ce problème dans les données.
Dans l'exemple, le nom de marque « Isuzu », « ISUZU », « Mini » et « Land » semble incorrect.

Cela doit être corrigé

imprimer(data.Brand.unique())
print(data.Brand.nunique())
recherche = ['Isuzu','ISUZU','Mini','Land']
data[data.Brand.str.contains('|'.join(searchfor))].head(5)
data["Marque"].replace({"ISUZU": "Isuzu", "Mini": "Mini Cooper","Land":"Land Rover"}, inplace=True)
Nous avons effectué l'analyse fondamentale des données, la mise en vedette et le nettoyage des données.

Passons au processus EDA

En savoir plus sur les principes fondamentaux de l'analyse exploratoire des données : https://www.analyticsvidhya.com/blog/2021/11/fundamentals-of-exploratory-data-analysis/

ÉTAPE 7 : ANALYSE EXPLORATOIRE DES DONNÉES EDA

L'analyse exploratoire des données fait référence au processus crucial consistant à effectuer des investigations initiales sur les données pour découvrir des modèles permettant de vérifier les hypothèses à l'aide de statistiques récapitulatives et de représentations graphiques.

• L'EDA peut être exploitée pour vérifier les valeurs aberrantes, les modèles et les tendances dans les données fournies.

• EDA aide à trouver des modèles significatifs dans les données.

• EDA fournit des informations approfondies sur les ensembles de données pour résoudre nos problèmes commerciaux.

• EDA donne un indice pour imputer les valeurs manquantes dans l'ensemble de données

ÉTAPE 8 : RÉSUMÉ DES STATISTIQUES

Les informations donnent une description rapide et simple des données.
Peut inclure le nombre, la moyenne, l'écart type, la médiane, le mode, la valeur minimale, la valeur maximale, la plage, l'écart type, etc.

Le résumé des statistiques donne une idée générale pour identifier si les données présentent des valeurs aberrantes, une erreur de saisie de données, une distribution des données telle que les données sont normalement distribuées ou asymétriques gauche/droite

En python, cela peut être réalisé en utilisant décrire()
La fonction décrire() donne un résumé de toutes les statistiques des données
décrire() ; Fournir un résumé statistique des données appartenant à un type de données numérique tel que int, float
data.describe().T

À partir du résumé des statistiques, nous pouvons déduire les résultats ci-dessous :
• Les années vont de 1996 à 2019 et ont une fourchette élevée qui montre que les voitures d'occasion contiennent à la fois les derniers modèles et les anciens modèles de voitures.

• En moyenne, les kilomètres parcourus par les voitures d'occasion représentent environ 58 000 km. La plage montre une énorme différence entre min et max, car les valeurs maximales montrent que 650 000 KM montrent la preuve d'une valeur aberrante. Cet enregistrement peut être supprimé.

• La valeur minimale du kilométrage indique que 0 voiture ne sera pas vendue avec 0 kilométrage. Cela ressemble à un problème de saisie de données.
• Il semble que Engine et Power présentent des valeurs aberrantes, et les données sont asymétriques à droite.

• Le nombre moyen de sièges dans une voiture est de 5. Le siège auto est un élément important dans la contribution au prix.

• Le prix maximum d'une voiture d'occasion est de 160 000, ce qui est assez bizarre, un prix si élevé pour une voiture d'occasion. Il peut y avoir une valeur aberrante ou un problème de saisie de données.

describe(include='all') fournit un résumé statistique de toutes les données, inclut l'objet, la catégorie, etc.
data.describe(include='all')

Avant de faire EDA, séparons les variables numériques et catégorielles pour une analyse facile
cat_cols=data.select_dtypes(include=['object']).columns
num_cols = data.select_dtypes(include=np.number).columns.tolist()
print("Variables catégorielles :")
imprimer(cat_cols)
print("Variables numériques :")
imprimer(num_cols)
Lisez également l'article Écart type dans Excel et Sheets https://www.analyticsvidhya.com/blog/2024/06/standard-deviation-in-excel/

ÉTAPE 9 : ANALYSE UNIVARIÉE EDA
Analyser/visualiser l'ensemble de données en prenant une variable à la fois :
La visualisation des données est essentielle ; nous devons décider quels graphiques tracer pour mieux comprendre les données. Dans cet article, nous visualisons nos données à l'aide des bibliothèques Matplotlib et Seaborn.
Matplotlib est une bibliothèque de traçage Python 2D utilisée pour dessiner des graphiques de base..
Seaborn est également une bibliothèque Python construite sur Matplotlib qui utilise de courtes lignes de code pour créer et styliser des tracés statistiques à partir de Pandas et Numpy
L'analyse univariée peut être effectuée pour les variables catégorielles et numériques.

Les variables catégorielles peuvent être visualisées à l'aide d'un graphique de comptage, d'un graphique à barres, d'un graphique à secteurs, etc.
Les variables numériques peuvent être visualisées à l'aide d'un histogramme, d'un diagramme en boîte, d'un diagramme de densité, etc.

Dans notre exemple, nous avons effectué une analyse univariée en utilisant un histogramme et un box Plot pour les variables continues.
Dans la figure ci-dessous, un histogramme et un diagramme en boîte sont utilisés pour montrer le modèle des variables, car certaines variables présentent une asymétrie et des valeurs aberrantes.

pour col dans num_cols :
imprimer(col)
print('Skew :', round(data[col].skew(), 2))
plt.figure(figsize = (15, 4))
plt.subplot(1, 2, 1)
data[col].hist(grid=False)
plt.ylabel('count')
plt.subplot(1, 2, 2)
sns.boxplot(x=data[col])
plt.show()

Le prix et les kilomètres parcourus sont correctement asymétriques pour que ces données soient transformées, et toutes les valeurs aberrantes seront traitées lors de l'imputation, les variables catégorielles sont visualisées à l'aide d'un tracé de comptage. Les variables catégorielles fournissent un schéma de facteurs influençant le prix de la voiture.
fig, axes = plt.subplots(3, 2, figsize = (18, 18))
fig.suptitle('Tracé à barres pour toutes les variables catégorielles de l'ensemble de données')
sns.countplot(ax = axes[0, 0], x = 'Fuel_Type', data = data, color = 'blue',
order = data['Fuel_Type'].value_counts().index);
sns.countplot(ax = axes[0, 1], x = 'Transmission', data = data, color = 'blue',
order = data['Transmission'].value_counts().index);
sns.countplot(ax = axes[1, 0], x = 'Owner_Type', data = data, color = 'blue',
order = data['Owner_Type'].value_counts().index);
sns.countplot(ax = axes[1, 1], x = 'Emplacement', data = data, color = 'blue',
order = data['Location'].value_counts().index);
sns.countplot(ax = axes[2, 0], x = 'Marque', data = data, color = 'blue',
order = data['Marque'].head(20).value_counts().index);
sns.countplot(ax = axes[2, 1], x = 'Modèle', data = data, color = 'blue',
order = data['Model'].head(20).value_counts().index);
axes[1][1].tick_params(labelrotation=45);
axes[2][0].tick_params(labelrotation=90);
axes[2][1].tick_params(labelrotation=90);

À partir du graphique de comptage, nous pouvons avoir les observations ci-dessous
• Mumbai compte le plus grand nombre de voitures disponibles à l'achat, suivie par Hyderabad et Coimbatore
• ~ 53 % des voitures ont un type de carburant diesel, ce qui montre que les voitures diesel offrent des performances plus élevées
• ~72 % des voitures sont équipées d'une transmission manuelle
• ~82 % des voitures sont des voitures appartenant en premier. Cela montre que la plupart des acheteurs préfèrent acheter des voitures de premier propriétaire
• ~20% des voitures appartiennent à la marque Maruti suivi de 19% des voitures appartenant à Hyundai
• WagonR se classe au premier rang parmi tous les modèles disponibles à l'achat.

CONCLUSION :
L'analyse exploratoire des données (EDA) révèle des informations et des connaissances à partir d'ensembles de données en détectant les valeurs aberrantes, les modèles clés et les relations entre les variables. Il s’agit de collecter, nettoyer et transformer les données pour dévoiler leurs attributs.
Bonne lecture et explorons ensemble l’avenir de la science des données…

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
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Python vs C: applications et cas d'utilisation comparésPython vs C: applications et cas d'utilisation comparésApr 12, 2025 am 12:01 AM

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Le plan Python de 2 heures: une approche réalisteLe plan Python de 2 heures: une approche réalisteApr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principalesPython: Explorer ses applications principalesApr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Combien de python pouvez-vous apprendre en 2 heures?Combien de python pouvez-vous apprendre en 2 heures?Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu?Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Que dois-je faire si le module '__builtin__' n'est pas trouvé lors du chargement du fichier de cornichon dans Python 3.6?Apr 02, 2025 am 07:12 AM

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Comment améliorer la précision de la segmentation des mots jieba dans l'analyse des commentaires pittoresques?Apr 02, 2025 am 07:09 AM

Comment résoudre le problème de la segmentation des mots jieba dans l'analyse des commentaires pittoresques? Lorsque nous effectuons des commentaires et des analyses pittoresques, nous utilisons souvent l'outil de segmentation des mots jieba pour traiter le texte ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP