Data Blending
Le mélange de données combine des données issues de sources distinctes en agrégeant chacune selon un champ commun avant de les faire correspondre, dans les outils de BI comme dans les jeux d’entraînement ML mixtes.
La combinaison de données rassemble des données provenant d’au moins deux sources distinctes dans une vue ou un jeu de données unique, généralement en agrégeant chaque source selon un champ de correspondance commun, comme une date, un magasin ou une région, avant de les faire correspondre. Le terme vient des outils d’informatique décisionnelle, où la combinaison permet d’afficher côte à côte le budget marketing mensuel d’un système et les ventes quotidiennes d’un autre sans d’abord charger les deux dans une même base de données. En apprentissage automatique, le terme désigne aussi le mélange de plusieurs jeux de données en un seul jeu d’entraînement, par exemple des images réelles avec des données synthétiques ou un jeu de données de référence public avec les images des caméras d’une entreprise.
Fonctionnement de la combinaison de données#
Dans l’implémentation de Tableau, la première source utilisée dans une vue est la source principale et définit la vue. Chaque source secondaire est interrogée séparément, agrégée au niveau des champs de correspondance, puis associée aux lignes correspondantes. Le résultat se comporte comme une jointure gauche, à une différence de séquence près : une jointure combine les lignes puis les agrège, tandis qu’une combinaison agrège chaque source d’abord, puis les associe. Cet ordre compte lorsque les sources ont des niveaux de granularité différents, comme le montre cet exemple avec pandas, qui compare les revenus quotidiens aux dépenses publicitaires mensuelles :
import numpy as np
import pandas as pd
# Source 1: daily revenue from a store database
rng = np.random.default_rng(0)
orders = pd.DataFrame({"date": pd.date_range("2026-01-01", "2026-03-31")})
orders["revenue"] = rng.integers(200, 400, len(orders))
orders["month"] = orders["date"].dt.strftime("%Y-%m")
# Source 2: monthly ad spend from a marketing tool
ads = pd.DataFrame({"month": ["2026-01", "2026-02", "2026-03"], "ad_spend": [3000, 2000, 4000]})
# A row-level join copies each month's spend onto every daily row
joined = orders.merge(ads, on="month")
print(f"ad spend after a row-level join: {joined['ad_spend'].sum():,}")
# A blend aggregates to the linking field (month) first, then combines the sources
blended = orders.groupby("month", as_index=False)["revenue"].sum().merge(ads, on="month", how="left")
blended["revenue_per_ad_dollar"] = (blended["revenue"] / blended["ad_spend"]).round(2)
print(blended)La jointure au niveau des lignes indique des dépenses publicitaires de 273 000 au lieu des 9 000 réels, car le budget de chaque mois est répété sur ses 28 à 31 lignes quotidiennes. La combinaison conserve une ligne par mois et renvoie un revenu par euro publicitaire de 3,17 en janvier, 4,06 en février et 2,41 en mars.
La combinaison convient à l’exploration analytique des données et aux tableaux de bord de visualisation des données, lorsque les sources résident dans des systèmes différents et que leur rapprochement est nécessaire pour répondre à une question. Les valeurs du champ de correspondance doivent être identiques : « Lt. Blue » dans une source ne correspondra pas à « Light Blue » dans une autre tant que les noms n’auront pas été nettoyés ou associés à un alias.
Combinaison de jeux de données d’entraînement#
Les équipes d’apprentissage automatique combinent des jeux de données pour couvrir davantage de conditions que ne le permettrait une source unique. Les grands modèles de langage sont entraînés sur de tels mélanges : The Pile, publié par EleutherAI en 2020, combine 22 sources, des articles universitaires au code, dans un corpus de textes anglais de 825 Gio, avec un poids d’échantillonnage propre à chaque source. En vision par ordinateur, combiner un jeu de données issu de nombreuses caméras, régions et saisons réduit le surapprentissage à un environnement donné et contrecarre le biais des jeux de données.
Un mélange d’entraînement nécessite les mêmes opérations de rapprochement qu’un mélange décisionnel. Les noms de classes doivent correspondre à une seule taxonomie : « car », « automobile » et « vehicle » deviennent une même classe ou restent délibérément séparés. Les formats et conventions d’annotation des données doivent être cohérents, car une source peut tracer une boîte englobante autour de la partie visible d’une personne occultée, tandis qu’une autre encadre son contour complet ; le nettoyage des données supprime les images présentes dans plusieurs sources. Les équipes tirent les données de test du domaine de déploiement, afin que les métriques reflètent la cible plutôt que la source la plus facile du mélange.
Ultralytics YOLO combine des sources au moment de l’entraînement au moyen de son fichier YAML de jeu de données, dont le champ train accepte une liste de répertoires d’images ou un fichier .txt contenant des chemins d’accès aux images. Une seule exécution d’entraînement peut ainsi puiser dans un jeu de données réel et un jeu synthétique, tandis que val ne répertorie que les images réelles.
Combinaison de données et termes associés#
- Jointure de données : combine les enregistrements ligne par ligne en fonction de clés correspondantes au sein d’une même requête, avant toute agrégation ; cela duplique les valeurs lorsque les sources ont des niveaux de granularité différents.
- Intégration des données : regroupe définitivement les sources dans un entrepôt ou un lac de données doté d’un schéma commun, généralement au moyen de pipelines d’extraction, de transformation et de chargement (ETL).
- Combinaison dans l’apprentissage ensembliste : combine les prédictions de plusieurs modèles au moyen d’un méta-modèle entraîné sur un jeu de validation, approche à l’origine des candidatures gagnantes du Netflix Prize ; elle n’a aucun rapport avec la combinaison de sources de données.










