Associar dados
Importante
O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.
A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).
- Consulte informações sobre projetos de machine learning em movimento de ML Studio (clássico) para Azure Machine Learning.
- Saiba mais sobre Azure Machine Learning.
A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.
Junta dois conjuntos de dados
Categoria: Transformação de Dados / Manipulação
Nota
Aplica-se a: Machine Learning Studio (clássico) apenas
Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.
Visão geral do módulo
Este artigo descreve como usar o módulo Dedesequim de Dados em Machine Learning Studio (clássico) para fundir dois conjuntos de dados usando uma operação de junção estilo base de dados.
Para realizar uma junção em dois conjuntos de dados, devem estar relacionados com uma única coluna-chave. As chaves compostas não são suportadas.
Como configurar os Dados de Junção
Em Machine Learning Studio (clássico), adicione os conjuntos de dados que pretende combinar e, em seguida, arraste o módulo De Dados de Junção para a sua experiência.
Pode encontrar o módulo na categoria de Transformação de Dados , em Manipulação.
Ligação os conjuntos de dados para o módulo 'Unir Dados'.
O módulo 'Dados de Junção ' não suporta uma junção externa direita, por isso, se pretender garantir que as linhas de um determinado conjunto de dados estão incluídas na saída, esse conjunto de dados deve estar na entrada à esquerda.
Clique no seletor de colunas de lançamento para escolher uma única coluna-chave para o conjunto de dados na entrada esquerda.
Clique no seletor de colunas de lançamento para escolher uma única coluna-chave para o conjunto de dados na entrada certa.
Selecione a opção caso Match se estiver a juntar-se a uma coluna de texto e pretender garantir que a junção preserva a sensibilidade do caso.
Por exemplo, se selecionar esta opção,
A1000
será considerado um valor chave diferente dea1000
.Se desmarcar esta opção, a sensibilidade ao caso não é aplicada e
A1000
será considerada a mesma quea1000
.Utilize a lista de dropdown do tipo 'Juntar', para especificar como os conjuntos de dados devem ser combinados. tipos:
Interior Join: Uma junção interior é a operação típica de junção. Só retorna as linhas combinadas quando os valores das colunas-chave coincidem.
Left Outer Join: A left outer join returns join join rows for all rows from the left table. Quando uma linha na mesa esquerda não tem linhas correspondentes na tabela direita, a linha retornado contém valores em falta para todas as colunas que vêm da mesa direita, a menos que especifique um valor de substituição para valores em falta.
Full Outer Join: Uma junção exterior completa retorna todas as linhas da mesa esquerda (mesa1) e da mesa direita (mesa2).
Para cada uma das linhas da mesa esquerda que não têm linhas correspondentes na tabela direita, os resultados da junção incluem uma linha contendo valores em falta da tabela direita.
Para cada uma das linhas da mesa direita que não têm linhas correspondentes na tabela esquerda, os resultados da junção incluem uma linha contendo valores em falta para todas as colunas da mesa esquerda.
Semi-unir à esquerda: Uma semi-junção esquerda retorna apenas os valores da tabela esquerda quando os valores das colunas-chave coincidem.
Para a opção, mantenha os colums-chave certos na mesa unida:
- Desmarcar a opção de obter uma única coluna-chave nos resultados.
- Deixe a opção selecionada para visualizar as teclas de ambas as tabelas de entrada.
Execute a experiência, ou selecione o módulo 'Unir dados ' e o selecionado Run Selected, para executar a junção.
Para ver os resultados, clique com o botão direito no módulo 'Juntar Dados ', selecione Conjunto de dados de Resultados e clique em Visualizar.
Exemplos
Pode ver exemplos de como este módulo é usado na Galeria Azure AI:
Deteção do cancro da mama: A Join Data é usada para combinar os casos de formação positivo com os casos de treino negativos após a adaptação da proporção de casos.
Previsão do atraso de voo: Nesta amostra, o Join Data é utilizado para reunir funcionalidades úteis a partir de conjuntos de dados externos.
Recomendação do filme: Juntam-se dois conjuntos de dados para que possamos apresentar os títulos recomendados do filme em vez de um ID de filme.
Previsão do desempenho do aluno: Nesta amostra, o Join Data é usado para trazer novas funcionalidades.
Notas técnicas
Esta secção descreve detalhes de implementação e respostas a algumas perguntas frequentes.
Restrições
O conjunto de dados combinado não pode ter duas colunas com o mesmo nome. Se os conjuntos de dados esquerdo e direito tiverem nomes de colunas duplicados, um sufixo numérico é anexado aos nomes das colunas do conjunto de dados certos para torná-los únicos.
Por exemplo, se ambos os conjuntos de dados tivessem uma coluna chamada Mês, a coluna do conjunto de dados esquerdo permaneceria como está, e a coluna do conjunto de dados certo seria renomeada Mês (1).
O algoritmo que é usado para a comparação de valores-chave é forçado a hash.
Cada coluna do conjunto de dados associado preserva um tipo categórico, se a coluna correspondente do conjunto de dados de entrada for categórica.
No exterior esquerdo, se houver valores em falta, é criado um nível categórico no conjunto de dados esquerdo para valores em falta. Isto é verdade mesmo que não existam valores em falta no conjunto de dados (à direita).
Como posso juntar-me a uma mesa numa chave composta?
Se precisar de se juntar a uma tabela que utilize teclas compostas (ou seja, a chave primária depende de duas colunas independentes), utilize um módulo como o seguinte para concatenar o conteúdo das duas colunas-chave:
-
Por exemplo, utilize código como o follwing dentro do script R para concatenar as primeira e segunda colunas do dado de entrada usando um hífen como separador.
paste(inputdf$Col1,inputdf$Col2,sep="-")
-
O operador de concatenação em SQLite é
||
.
Como posso juntar-me a mesas que não têm chave?
Se o seu conjunto de dados não tiver uma coluna-chave, ainda pode combiná-lo com outro conjunto de dados, quer gerando uma chave, quer utilizando o módulo Add Columns .
O módulo Add Columns comporta-se como R, e pode fundir dois conjuntos de dados numa base de linha a linha, se os conjuntos de dados tiverem o mesmo número de linhas. Um erro é levantado se os conjuntos de dados são de um tamanho diferente.
Entradas esperadas
Nome | Tipo | Description |
---|---|---|
Conjunto de dados1 | Tabela de Dados | Primeiro conjunto de dados a aderir |
Conjunto de dados2 | Tabela de Dados | Segundo conjunto de dados a aderir |
Parâmetros do módulo
Nome | Intervalo | Tipo | Predefinição | Description |
---|---|---|---|---|
Junte-se a colunas-chave para L | Qualquer | Seleção de Colunas | Selecione as colunas-chave de junção para o primeiro conjunto de dados. | |
Junte-se a colunas-chave para R | Qualquer | Seleção de Colunas | Selecione as colunas-chave de junção para o segundo conjunto de dados. | |
Caso de correspondência | Qualquer | Booleano | Verdadeiro | Indicar se uma comparação sensível a casos é permitida em colunas-chave. |
Tipo de associação | Lista | Tipo | Associação interna | Escolha um tipo de junção. |
Mantenha as colunas-chave direitas na mesa unida | Qualquer | Booleano | Verdadeiro | Indicar se deve manter as colunas-chave a partir do segundo conjunto de dados no conjunto de dados associado. |
Saída
Nome | Tipo | Description |
---|---|---|
Conjunto de dados de resultados | Tabela de Dados | Resultado da operação de junção |
Exceções
Exceção | Description |
---|---|
Erro 0001 | Uma exceção ocorre se uma ou mais colunas especificadas do conjunto de dados não puderem ser encontradas. |
Erro 0003 | Uma exceção ocorre se uma ou mais entradas forem nulas ou vazias. |
Erro 0006 | Uma exceção ocorre se o parâmetro for maior ou igual ao valor especificado. |
Erro 0016 | Uma exceção ocorre se os conjuntos de dados de entrada que são passados para o módulo devem ter tipos de coluna compatíveis, mas não têm. |
Erro 0017 | Uma exceção ocorre se uma ou mais colunas especificadas tiverem tipos que não são suportados pelo módulo atual. |
Erro 0020 | Uma exceção ocorre se o número de colunas em alguns dos conjuntos de dados que são passados para o módulo for muito pequeno. |
Erro 0028 | Uma exceção ocorre quando o conjunto de colunas contém nomes de colunas duplicados e não é permitido. |
Erro 0011 | Uma exceção ocorre se o argumento para o conjunto de colunas aprovada não se aplicar a quaisquer colunas de conjunto de dados. |
Erro 0027 | Uma exceção ocorre quando dois objetos têm que ter o mesmo tamanho, mas não são. |
Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.
Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.