La préparation des données représente souvent 70 à 80% du travail d'un projet de machine learning. Des données mal préparées produisent des modèles peu fiables, même avec les meilleurs algorithmes. Voici les étapes clés pour garantir des analyses solides.
Explorer et comprendre les données
Avant tout nettoyage, commencez par une exploration :
import pandas as pd
df = pd.read_csv('donnees.csv')
print(df.shape) # dimensions
print(df.dtypes) # types de colonnes
print(df.isnull().sum()) # valeurs manquantes
print(df.describe()) # statistiques descriptives
Gérer les valeurs manquantes
Plusieurs stratégies selon le contexte :
- Suppression — si peu de lignes concernées (<5%)
- Imputation par la médiane/moyenne — pour les variables numériques
- Imputation par le mode — pour les variables catégorielles
- Indicateur de manquance — quand l'absence est elle-même informative
Traiter les outliers
Les valeurs aberrantes peuvent biaiser les modèles. On les détecte avec :
# Méthode IQR
Q1 = df['colonne'].quantile(0.25)
Q3 = df['colonne'].quantile(0.75)
IQR = Q3 - Q1
outliers = df[(df['colonne'] < Q1-1.5*IQR) |
(df['colonne'] > Q3+1.5*IQR)]
Encoder les variables catégorielles
Les algorithmes ML travaillent avec des nombres. Pour les variables catégorielles :
- One-Hot Encoding — pour les catégories sans ordre (pd.get_dummies)
- Label Encoding — pour les catégories ordinales
- Target Encoding — pour les variables à forte cardinalité
Normaliser les variables numériques
La mise à l'échelle est essentielle pour beaucoup d'algorithmes :
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X_scaled = scaler.fit_transform(X_train)
Conclusion
Une préparation rigoureuse des données est le fondement de tout projet ML réussi. En Dataiku, toutes ces étapes peuvent être documentées, reproductibles et auditables grâce aux recettes de préparation visuelles.