Préparation des données

Machine Learning de bout en bout

Joshua Stapleton

Machine Learning Engineer

Étapes de préparation des données

Le jeu de données contient :

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

Préparation des données :

  • Basée sur les résultats de l’EDA
  • Critique pour les performances du modèle
Machine Learning de bout en bout

Valeurs nulles / vides

  • Supprimer lignes/colonnes manquantes ou clairsemées
  • Les null peuvent casser le modèle
  • Utiliser df.drop() pour les colonnes
  • Utiliser df.dropna(how='all') pour les lignes
# count missing values
print(df['oldpeak'].isnull().sum())

# Drop empty column(s) and row(s)
columns_dropped = heart_disease_df.drop(['oldpeak'], axis='columns')
rows_and_columns_dropped = columns_dropped.dropna(how='all')
Machine Learning de bout en bout

Gérer les valeurs nulles / vides

  • Le nettoyage/suppression dépend des résultats de l’EDA

 

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

 

  • Si la cible a des valeurs manquantes :
    • Supprimer les lignes avec cible manquante
    • Ou traiter comme catégorie séparée
Machine Learning de bout en bout

Imputation

Que faire s’il n’y a que quelques valeurs manquantes ?

  • Imputation :

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

    • Remplir par la moyenne ou la médiane
    • Utiliser une constante ou la valeur précédente
# Calculate the mean cholestrol value 
mean_value = heart_disease_df['chol'].mean()

# Fill missing cholestrol values with the mean
heart_disease_df['chol'].fillna(mean_value, inplace=True)
Machine Learning de bout en bout

Imputation avancée

Techniques avancées :

  • K plus proches voisins
  • SMOTE (Synthetic Minority Oversampling Technique)
from sklearn.impute import KNNImputer

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

# Perform the imputation on your DataFrame
df_imputed['oldpeak'] = imputer.fit_transform(df['oldpeak'])
Machine Learning de bout en bout

Suppression des doublons

 

  • Données propres, concises et riches
  • Les redondances n’aident pas
  • Les doublons biaisent ou troublent le modèle
  • Utiliser des identifiants uniques pour supprimer des enregistrements/lignes

 

# Drop duplicate rows
heart_disease_duplicates_dropped = heart_disease_column_dropped.drop_duplicates()
Machine Learning de bout en bout

Passons à la pratique !

Machine Learning de bout en bout

Preparing Video For Download...