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
  1. Collecte — Rassembler les données brutes
  2. Nettoyage — Gérer les valeurs manquantes et les anomalies
  3. Transformation — Encoder, normaliser, créer de nouvelles features
  4. 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.