Préparation des données
Préparation des données
La qualité de vos données détermine la qualité de votre modèle. La préparation des données est souvent l'étape la plus importante d'un projet de Machine Learning.
Le pipeline de données
flowchart LR
A[Données brutes] --> B[Collecte]
B --> C[Nettoyage]
C --> D[Transformation]
D --> E[Séparation]
E --> F[Train set]
E --> G[Test set]
style F fill:#22c55e,color:#fff
style G fill:#3b82f6,color:#fff
- Collecte — Rassembler les données brutes
- Nettoyage — Gérer les valeurs manquantes et les anomalies
- Transformation — Encoder, normaliser, créer de nouvelles features
- Séparation — Diviser en jeux d'entraînement et de test
Gérer les valeurs manquantes
import pandas as pd
df = pd.read_csv('donnees.csv')
# Voir les valeurs manquantes
print(df.isnull().sum())
# Stratégies de remplacement
df['age'].fillna(df['age'].median(), inplace=True) # par la médiane
df['ville'].fillna('Inconnu', inplace=True) # par une valeur par défaut
df.dropna(subset=['cible'], inplace=True) # supprimer si la cible manque
Normalisation des features
Les algorithmes de ML sont sensibles à l'échelle des données. Il est important de normaliser.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
Séparation train/test
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
Résumé
Une bonne préparation des données est la clé d'un modèle performant. Nettoyez, transformez et divisez vos données avant tout entraînement.