Data Blending
Beim Zusammenführen von Daten werden Daten aus verschiedenen Quellen kombiniert, indem jede Quelle einem gemeinsamen Feld zugeordnet wird, bevor die Daten abgeglichen werden. Das kommt in BI-Werkzeugen und gemischten ML-Trainingsdatensätzen zum Einsatz.
Beim Daten-Mischen werden Daten aus mindestens zwei getrennten Quellen in einer gemeinsamen Ansicht oder einem gemeinsamen Datensatz zusammengeführt. Typischerweise werden die Quellen zunächst anhand eines gemeinsamen Verknüpfungsfelds wie Datum, Geschäft oder Region zusammengefasst und anschließend abgeglichen. Der Begriff stammt aus Werkzeugen für Business Intelligence. Dort ermöglicht eine Mischung, ein monatliches Marketingbudget aus einem System neben täglichen Verkaufszahlen aus einem anderen anzuzeigen, ohne beide Daten zunächst in eine einzelne Datenbank zu laden. Im maschinellen Lernen bezeichnet Mischen auch das Zusammenführen mehrerer Datensätze zu einem Trainingsdatensatz, etwa echter Bilder mit synthetischen Daten oder eines öffentlichen Benchmark-Datensatzes mit Bildern von den Kameras eines Unternehmens.
So funktioniert das Mischen von Daten#
Bei der Implementierung in Tableau ist die zuerst in einer Ansicht verwendete Quelle die primäre Quelle und bestimmt die Ansicht. Jede sekundäre Quelle wird separat abgefragt, auf die Ebene der Verknüpfungsfelder aggregiert und den passenden Zeilen zugeordnet. Das Ergebnis ähnelt einem Left Join, unterscheidet sich aber in der Reihenfolge: Bei einem Join werden Zeilen zusammengeführt und anschließend aggregiert, während bei einer Mischung jede Quelle zunächst aggregiert und danach mit den anderen zusammengeführt wird. Diese Reihenfolge ist wichtig, wenn Quellen unterschiedlich granular sind, wie das folgende pandas-Beispiel mit täglichen Einnahmen und monatlichen Werbeausgaben zeigt:
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)Der Join auf Zeilenebene weist Werbeausgaben von 273.000 statt der tatsächlichen 9.000 aus, weil das Monatsbudget in jeder seiner 28 bis 31 Tageszeilen wiederholt wird. Bei der Mischung bleibt es bei einer Zeile pro Monat. Das ergibt Einnahmen von 3,17 pro Werbeeuro im Januar, 4,06 im Februar und 2,41 im März.
Das Mischen eignet sich für explorative Datenanalysen und Dashboards zur Datenvisualisierung, wenn Quellen in unterschiedlichen Systemen liegen und für eine bestimmte Fragestellung kombiniert werden müssen. Werte im Verknüpfungsfeld müssen exakt übereinstimmen. Daher lässt sich „Lt. Blue“ aus einer Quelle erst dann mit „Light Blue“ aus einer anderen verknüpfen, wenn die Namen bereinigt oder vereinheitlicht wurden.
Trainingsdatensätze mischen#
Teams für maschinelles Lernen mischen Datensätze, um mehr Bedingungen abzudecken, als jede einzelne Quelle enthält. Large Language Models werden mit solchen Mischungen trainiert: The Pile, 2020 von EleutherAI veröffentlicht, vereint 22 Quellen von wissenschaftlichen Arbeiten bis hin zu Code in einem englischen Textkorpus mit 825 GiB. Für jede Quelle gilt dabei ein eigenes Stichprobengewicht. In der Computer Vision verringert das Mischen eines Datensatzes aus vielen Kameras, Regionen und Jahreszeiten die Überanpassung an einzelne Umgebungen und wirkt Verzerrungen in Datensätzen entgegen.
Beim Mischen von Trainingsdaten ist ein ähnlicher Abgleich wie bei einer BI-Mischung nötig. Klassennamen müssen einer gemeinsamen Taxonomie zugeordnet werden, sodass „car“, „automobile“ und „vehicle“ zu einer Klasse werden oder bewusst getrennt bleiben. Auch Formate und Konventionen für die Datenannotierung müssen übereinstimmen: Eine Quelle zeichnet möglicherweise einen Begrenzungsrahmen um den sichtbaren Teil einer teilweise verdeckten Person, während eine andere den vollständigen Umriss markiert. Die Datenbereinigung entfernt Bilder, die in mehr als einer Quelle vorkommen. Teams beziehen die Testdaten aus der Bereitstellungs domäne, damit die Messwerte das Zielgebiet und nicht die einfachste Quelle der Mischung widerspiegeln.
Ultralytics YOLO mischt Quellen während des Trainings über seine Datensatz-YAML-Datei. Ihr Feld train akzeptiert eine Liste von Bildverzeichnissen oder eine Datei .txt mit Bildpfaden. So kann ein einzelner Trainingslauf sowohl Daten aus einem echten als auch aus einem synthetischen Datensatz verwenden, während val nur echte Bilder aufführt.
Datenmischung und verwandte Begriffe#
- Datenverknüpfung: Führt Datensätze innerhalb einer Abfrage zeilenweise anhand übereinstimmender Schlüssel zusammen, bevor eine Aggregation erfolgt. Bei Quellen unterschiedlicher Granularität werden dadurch Werte dupliziert.
- Datenintegration: Führt Quellen dauerhaft in einem Data Warehouse oder Data Lake mit einem gemeinsamen Schema zusammen, üblicherweise über Extrahieren, Transformieren und Laden (ETL) als Datenverarbeitungspipeline.
- Mischen beim Ensemble-Lernen: Verknüpft die Vorhersagen mehrerer Modelle über ein Metamodell, das mit einer zurückgehaltenen Datenmenge trainiert wurde. Dieser Ansatz steckte hinter den erfolgreichen Beiträgen zum Netflix Prize und hat nichts mit dem Zusammenführen von Datenquellen zu tun.










