Analyse exploratoire des données

Machine Learning de bout en bout

Joshua Stapleton

Machine Learning Engineer

Le processus EDA

  • Examiner et analyser le jeu de données
  • Comprendre le jeu de données
  • Visualiser le jeu de données
  • Caractériser / classer le jeu de données

Un schéma montrant divers éléments de l’EDA appliqués au jeu de données sur les cardiopathies des patients

Machine Learning de bout en bout

Comprendre nos données

df.head()

  • Affiche les premières lignes
  • Donne un aperçu de la structure
# Print the first 5 rows
print(heart_disease_df.head())

Les 5 premières lignes de notre DataFrame sur les cardiopathies. Résultat de l’appel à df.head().

df.info()

  • Résume les variables
  • Affiche les non‑nuls et types
# Print out details
print(heart_disease_df.info())

Informations récapitulatives sur notre DataFrame de cardiopathies. Résultat de l’appel à df.info().

Machine Learning de bout en bout

(Dés)équilibre des classes

df.value_counts()

  • Compte les occurrences de chaque classe
  • Classe : présence binaire de cardiopathie (1/0)
  • Important pour la modélisation
# print the class balance
print(heart_disease_df['target'].value_counts(normalize=True))

L’équilibre des classes de la colonne target de notre DataFrame sur les cardiopathies. Résultat de l’appel à .value_counts() sur target.

Machine Learning de bout en bout

Valeurs manquantes

  • Peut entraîner des erreurs
  • Résultats non représentatifs, biaisés

Utiliser df.isnull()

  • Repère les valeurs nulles/vides/manquantes
  • À appliquer à une colonne ou un ensemble de colonnes

Utilisation

# check whether all values in a column are null
print(heart_disease_df['oldpeak'].isnull().all())
True
Machine Learning de bout en bout

Valeurs aberrantes

  • Valeurs anormales

    • Erreurs de mesure
    • Erreurs de saisie
    • Événements rares
  • Peuvent fausser les performances

    • Le modèle apprend sur des extrêmes
    • Ne capte pas la tendance générale
  • Parfois utiles :

    • Valeurs rares
    • Détection : boxplot ou IQR

Une visualisation montrant une valeur aberrante.

Machine Learning de bout en bout

Visualiser nos données

Les visualisations montrent :

  • Tendances générales
  • Valeurs manquantes et aberrantes

Autres types :

  • Estimation par noyau (KDE)
  • Distributions cumulées empiriques
  • Distributions bivariées
df['age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

Une visualisation montrant la distribution de l'âge dans notre jeu de données.

1 https://seaborn.pydata.org/tutorial/distributions.html, https://app.datacamp.com/learn/courses/intermediate-data-visualization-with-seaborn
Machine Learning de bout en bout

Objectifs de l’EDA

Comprendre les données

  • Y a‑t‑il des motifs ?
  • Ex. : les hommes ont‑ils un taux de cardiopathie plus élevé ?

Détecter les valeurs aberrantes

  • Des données sortent‑elles de l’acceptable ?
  • Valeurs incorrectes ou manquantes ?

Formuler des hypothèses

  • Que doit‑on attendre des données ?

Vérifier les hypothèses

  • Nos attentes correspondent‑elles à la réalité ?
Machine Learning de bout en bout

Passons à la pratique !

Machine Learning de bout en bout

Preparing Video For Download...