Data Universe
Newsletter
Accueil/Encyclopédie/Feature Engineering
🔍Techniques AnalyticsIntermédiairePréparation des données

Feature Engineering

L'art de créer de nouvelles variables à partir des données brutes pour améliorer les performances des modèles ML. Souvent plus impactant que le choix de l'algorithme.

💡Explication simple

Si tu veux prédire les ventes d'une boulangerie, tu as la date. Mais 'date' brute ne dit rien à un modèle. Si tu crées 'est_samedi' (oui/non), 'mois_été' (oui/non), 'veille_ferie' (oui/non), là le modèle comprend tout. Feature Engineering, c'est transformer la matière première (données brutes) en ingrédients que le modèle peut vraiment utiliser.

🏗️Exemple concret

Sur un dataset de fraude bancaire : la colonne 'montant' seule n'est pas très utile. Mais 'montant / montant_moyen_client_30j' (ratio par rapport à ses habitudes) est 10x plus prédictif. Cette nouvelle variable créée de zéro peut faire passer l'AUC de 0.82 à 0.91.

Pythonexemple
import pandas as pd

# Encodage variable categorielle
df["region_encoded"] = df["region"].map({"Nord": 0, "Sud": 1, "Est": 2, "Ouest": 3})

# Features temporelles
df["month"]      = pd.to_datetime(df["date"]).dt.month
df["is_weekend"] = pd.to_datetime(df["date"]).dt.dayofweek >= 5

# Agregats clients (window features)
customer_stats = df.groupby("customer_id").agg(
    nb_orders       = ("order_id", "count"),
    avg_basket      = ("amount",   "mean"),
    days_since_last = ("date", lambda x: (pd.Timestamp.now() - x.max()).days),
).reset_index()

df = df.merge(customer_stats, on="customer_id", how="left")

∑ Concept clé

Variables courantes : log(x) pour les montants, différences temporelles, ratios, moyennes mobiles, comptages, encodage one-hot, target encoding

🎯Quand l'utiliser ?

Avant d'entraîner tout modèle ML
Quand les performances stagnent malgré le tuning
Quand on a une connaissance métier à encoder

✅ Avantages

+Souvent plus impactant que changer d'algorithme
+Permet d'intégrer la connaissance métier dans le modèle
+Réduit la complexité requise du modèle

⚠️ Limites

Demande du temps et de la créativité
Risque de data leakage si on utilise des infos futures
Les features doivent être recalculables en production

🛠️ Outils principaux

Pandas / NumPy (Python)
Feature Store (Feast, Databricks)
Dataiku (Prepare recipe)
dbt (transformations SQL)
MLData PreparationPreprocessingFeature Store

Concepts liés

🧪

A/B Testing

Expérimentation

👥

Analyse de cohortes

Analytics Produit

📉

Analyse d'entonnoir (Funnel Analysis)

Analytics Produit

📊

Analyse du panier — Market Basket Analysis

Analytics Retail

← Retour à l'encyclopédie