Data Blending
A combinação de dados reúne dados de fontes distintas, agregando cada fonte em um campo compartilhado antes da correspondência, tanto em ferramentas de BI quanto em conjuntos de treinamento de ML mistos.
A combinação de dados junta dados de duas ou mais fontes separadas numa única vista ou conjunto de dados, normalmente agregando cada fonte por um campo comum, como data, loja ou região, antes de fazer a correspondência entre elas. O termo vem das ferramentas de inteligência empresarial, nas quais uma combinação permite apresentar o orçamento mensal de marketing de um sistema ao lado das vendas diárias de outro, sem antes carregar ambos numa única base de dados. Em aprendizado de máquina, combinar dados também significa juntar vários conjuntos de dados num único conjunto de treinamento, por exemplo, imagens reais com dados sintéticos ou um conjunto de dados de benchmark público com imagens das câmaras de uma empresa.
Como funciona a combinação de dados#
Na implementação do Tableau, a primeira fonte usada numa vista é a fonte principal e define a vista; cada fonte secundária é consultada separadamente, agregada ao nível dos campos de ligação e associada às linhas correspondentes. O resultado comporta-se como uma junção à esquerda, com uma diferença na ordem: uma junção combina as linhas e depois agrega, enquanto uma combinação agrega primeiro cada fonte e depois as combina. Essa ordem importa quando as fontes têm diferentes níveis de granularidade, como mostra este exemplo de pandas com receitas diárias e gastos mensais em publicidade:
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)A junção ao nível das linhas indica um gasto de 273.000 em publicidade, em vez dos 9.000 reais, porque o orçamento de cada mês se repete em todas as suas 28 a 31 linhas diárias. A combinação mantém uma linha por mês e devolve receitas por unidade monetária investida em publicidade de 3,17 em janeiro, 4,06 em fevereiro e 2,41 em março.
A combinação é adequada à análise exploratória de dados e a painéis de visualização de dados, nos quais as fontes estão em sistemas diferentes e a combinação é necessária para responder a uma pergunta. Os valores do campo de ligação têm de corresponder exatamente; por isso, «Lt. Blue» numa fonte não será associado a «Light Blue» noutra até que os nomes sejam normalizados ou tenham aliases.
Combinação de conjuntos de dados de treinamento#
As equipas de aprendizado de máquina combinam conjuntos de dados para cobrir mais condições do que qualquer fonte isolada abrange. Os modelos de linguagem grandes são treinados com essas misturas: o The Pile, lançado pela EleutherAI em 2020, combina 22 fontes, de artigos académicos a código, num corpus de texto em inglês com 825 GiB, atribuindo um peso de amostragem próprio a cada fonte. Em visão computacional, combinar conjuntos de dados de várias câmaras, regiões e estações reduz o sobreajuste a um único ambiente e atenua o viés do conjunto de dados.
Uma combinação para treinamento exige a mesma reconciliação que uma combinação de inteligência empresarial. Os nomes das classes têm de corresponder a uma única taxonomia, de modo que «carro», «automóvel» e «veículo» se tornem uma única classe ou permaneçam deliberadamente separados. Os formatos e convenções de anotação de dados têm de ser compatíveis, pois uma fonte pode desenhar uma caixa delimitadora em torno da parte visível de uma pessoa ocluída, enquanto outra delimita o contorno completo; a limpeza de dados elimina imagens presentes em mais de uma fonte. As equipas obtêm os dados de teste do domínio de implantação, para que as métricas reflitam o destino, e não a fonte mais fácil da mistura.
O Ultralytics YOLO combina fontes no momento do treinamento por meio do seu YAML do conjunto de dados, cujo campo train aceita uma lista de diretórios de imagens ou um ficheiro .txt com caminhos para imagens; assim, uma única execução de treinamento pode usar um conjunto de dados real e outro sintético, enquanto val lista apenas imagens reais.
Combinação de dados e termos relacionados#
- Junção de dados: Combina registos linha a linha com base em chaves correspondentes numa única consulta, antes de qualquer agregação, o que duplica valores quando as fontes têm diferentes níveis de granularidade.
- Integração de dados: Consolida permanentemente as fontes num armazém de dados ou num lago de dados com um esquema comum, geralmente através de pipelines de extração, transformação e carregamento (ETL).
- Combinação em aprendizado por conjuntos: Combina as previsões de vários modelos através de um metamodelo treinado com um conjunto de validação, a abordagem por trás das propostas vencedoras do Netflix Prize; não tem relação com a combinação de fontes de dados.










