Préparation des données

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

Étapes de préparation des données

L'ensemble de données contient :

  • Valeurs manquantes
  • Valeurs aberrantes
  • Déséquilibres
  • Colonnes vides
  • Doublons

Préparation des données :

  • Basée sur les constats de l'EDA
  • Essentielle pour la performance du modèle en aval
Apprentissage Machine de bout en bout

Valeurs nulles / vides

  • Supprimer les lignes/colonnes manquantes ou clairsemées
  • Les valeurs nulles peuvent faire échouer le modèle
  • Utiliser df.drop() pour les colonnes
  • Utiliser df.dropna(how='all') pour les lignes
# compter les valeurs manquantes
print(df['oldpeak'].isnull().sum())

# Supprimer les colonne(s) vide(s) et ligne(s)
columns_dropped = heart_disease_df.drop(['oldpeak'], axis='columns')
rows_and_columns_dropped = columns_dropped.dropna(how='all')
Apprentissage Machine de bout en bout

Gérer les valeurs nulles / vides

  • Le nettoyage / la suppression dépendent des résultats de l'EDA

 

  • Si une colonne a trop de valeurs manquantes :
    • Supprimer la colonne

 

  • Si la colonne cible a des valeurs manquantes :
    • Supprimer les lignes sans cible
    • Ou traiter comme catégorie distincte
Apprentissage Machine de bout en bout

Imputation

Que faire s'il manque seulement quelques valeurs ?

  • Imputation :

    • Remplir les valeurs manquantes par des substituts
  • Stratégies

    • Remplir par la moyenne ou la médiane
    • Utiliser une constante ou la valeur précédente
# Calculer la valeur moyenne du cholestérol
mean_value = heart_disease_df['chol'].mean()

# Remplir les valeurs manquantes de cholestérol avec la moyenne
heart_disease_df['chol'].fillna(mean_value, inplace=True)
Apprentissage Machine de bout en bout

Imputation avancée

Techniques avancées :

  • Plus proches voisins (KNN)
  • SMOTE (synthetic minority oversampling technique)
from sklearn.impute import KNNImputer

# Initialiser KNNImputer
imputer = KNNImputer(n_neighbors=2, weights="uniform")

# Effectuer l'imputation sur votre DataFrame
df_imputed['oldpeak'] = imputer.fit_transform(df['oldpeak'])
Apprentissage Machine de bout en bout

Suppression des doublons

 

  • Les données doivent être propres, concises et riches
  • Les redondances nuisent
  • Les doublons peuvent biaiser ou brouiller le modèle
  • Utiliser les identifiants uniques comme critère pour supprimer des enregistrements/lignes.

 

# Supprimer les lignes en double
heart_disease_duplicates_dropped = heart_disease_column_dropped.drop_duplicates()
Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...