Analyse exploratoire des données

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

Le processus d'AED

  • Examiner et analyser l'ensemble de données
  • Comprendre l'ensemble de données
  • Visualiser l'ensemble de données
  • Caractériser / classifier l'ensemble de données

Schéma montrant des volets de l'AED appliqués au jeu de données sur les maladies cardiaques

Apprentissage Machine de bout en bout

Comprendre nos données

df.head()

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

Les 5 premières lignes de notre DataFrame sur les maladies cardiaques. Résultats de l'appel à df.head().

df.info()

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

Information sommaire de notre DataFrame sur les maladies cardiaques. Résultats de l'appel à df.info().

Apprentissage Machine de bout en bout

(Dés)équilibre des classes

df.value_counts()

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

L'équilibre des classes de la colonne cible de notre DataFrame sur les maladies cardiaques. Résultats de l'appel à .value_counts() sur la colonne cible.

Apprentissage Machine de bout en bout

Valeurs manquantes

  • Peut mener à des erreurs
  • Résultats non représentatifs, biaisés

Utilisez df.isnull()

  • Vérifie 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
Apprentissage Machine de bout en bout

Valeurs aberrantes

  • Valeurs aberrantes

    • Erreurs de mesure
    • Erreurs de saisie
    • Événements rares
  • Peuvent fausser la performance du modèle

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

    • Valeurs rares
    • Détection : boîte à moustaches ou IQR

Une visualisation montrant une valeur aberrante.

Apprentissage Machine de bout en bout

Visualiser nos données

Les visualisations montrent :

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

Autres types de visualisations :

  • Estimation à 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
Apprentissage Machine de bout en bout

Objectifs de l'AED

Comprendre les données

  • Y a‑t‑il des motifs ?
  • P. ex. : les hommes ont‑ils un taux plus élevé de maladie cardiaque ?

Détecter les valeurs aberrantes

  • Des données sortent‑elles de l'acceptable ?
  • Y a‑t‑il des valeurs incorrectes ou manquantes ?

Formuler des hypothèses

  • À quoi s'attendre des données ?

Vérifier les hypothèses

  • Nos attentes concordent‑elles avec la réalité ?
Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...