Agrupar valores categóricos
Importante
O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.
A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).
- Confira informações sobre como mover projetos de machine learning do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning.
A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.
Agrupa dados de várias categorias em uma nova categoria
Categoria: Transformação/manipulação de dados
Observação
Aplica-se a: Machine Learning Studio (clássico) somente
Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.
Visão geral do módulo
Este artigo descreve como usar o módulo Valores Categóricos de Grupo no Machine Learning Studio (clássico) para criar uma tabela de lookup in-loque.
O uso típico para agrupar valores categóricos é mesclar vários valores de cadeia de caracteres em um único novo nível. Por exemplo, você pode atribuir códigos postais individuais em uma região a um único código regional ou agrupar vários produtos em uma categoria.
Para usar este módulo, digite os valores de lookup que deseja usar e mapeie os valores existentes para os valores de substituição. Você pode criar grupos somente para colunas categóricas, não para colunas de tipo numérico ou colunas designadas como rótulos ou recursos.
Todos os valores de coluna que não são explicitamente mapeados para um novo nível são atribuídos a um nível padrão. Por exemplo, se você não mapeou todos os códigos postais individuais, eles serão agrupados em um nível para valores não mapeados, que você pode nomear Desconhecido.
Observação
No máximo 20 novos níveis podem ser criados, incluindo o nível padrão. Se você precisar de mais valores ou precisar definir mapeamentos dinamicamente, recomendamos usar o script R personalizado no módulo Executar Script R . Ou, use SQL instruções no módulo Aplicar SQL Transformation.
Como usar valores categóricos de grupo
Recomendamos que você prepare a lista de valores existentes e as novas categorias com antecedência. Para cada categoria, você deve preparar um novo nome de categoria e uma lista separada por vírgulas de valores a incluir na categoria.
Adicione o módulo Valores Categóricos de Grupo ao seu experimento. Você pode encontrar o módulo em Transformação de Dados, Manipulação.
Conexão um conjuntos de dados que tem os valores que você deseja transformar.
No painel Propriedades de Valores Categóricos de Grupo, use o Seletor de Coluna para escolher a coluna que tem os níveis que você deseja reduzir.
Recomendamos que você clique em BEGIN WITHe NO COLUMNS para iniciar e, em seguida, adicione colunas por nome. Caso contrário, muitas colunas podem ser adicionadas como candidatos, levando a um erro.
A coluna deve ser uma coluna categórica. Se não estiver, adicione Editar Metadados upstream e altere o tipo de coluna.
Certifique-se de remover da entrada quaisquer colunas às quais a substituição de cadeia de caracteres não deve ser aplicada.
Para o Modo de saída, indique se você deseja apenas a saída dos novos níveis ou adendo as alterações para ver a coluna original, com as substituições lado a lado.
O padrão, ResultOnly, mostra apenas os novos valores. A opção Inplace substitui os valores de coluna existentes com os novos níveis.
Em Nome de nível padrão, digite um valor de cadeia de caracteres a ser usado como a substituição de todos os valores que não são mapeados explicitamente. Você pode usar algo como "Desconhecido" ou "Padrão".
Observação
Esse valor de nível padrão é aplicado a todos os valores que não podem ser mapeados. Se você acidentalmente incluísse colunas que não pretendia mapear, o valor seria aplicado a todos os valores nas colunas. Portanto, verifique se a seleção de coluna é precisa antes do processamento.
Para Novo número de níveis, digite um número que indica o número total de novas categorias (níveis), incluindo o nível padrão para valores não mapeados.
Em Nome do novo nível 1, forneça o novo nome de grupo para a primeira categoria.
Na caixa de texto que segue imediatamente, lista separada por vírgulas de níveis antigos para mapear para o novo nível 1, digite ou colar uma lista completa de todos os valores a mapear para o novo nível. Caracteres curinga e expressões regulares não são permitidos.
Continue digitando novos nomes de nível e digite ou colar valores que devem ser mapeados para o novo nível.
Recomendamos que você salve sua lista de valores em um arquivo separado enquanto está trabalhando. Se você alterar o número de níveis, todas as cadeias de caracteres que você digitou anteriormente serão removidas e você deverá começar de novo.
No entanto, se você estiver editando um módulo que foi salvo anteriormente, poderá reverter para as configurações originais.
Execute o experimento.
Resultados
Para exibir os resultados, clique com o botão direito do mouse no módulo Valores Categóricos de Grupo, selecione Conjunto de dados resultados e clique em Visualizar.
Exemplos
Para ver exemplos de aprendizado de máquina em ação, consulte o Galeria de IA do Azure.
Você também pode experimentar este módulo por conta própria, usando um pequeno conjunto de dados com algumas variáveis de cadeia de caracteres que podem ser agrupadas facilmente, como o conjunto de dados Preço de automóvel fornecido no Machine Learning Studio (clássico).
Vamos supor que você queira agrupar carros no conjunto de dados Preço de automóvel por tamanho do motor, usando o número de cilindros. Em vez de muitos tamanhos de mecanismo diferentes, você criará os novos níveis, "grande", "pequeno" e "outros", da seguinte maneira:
- Motores grandes: seis cilindros ou mais
- Motores pequenos: dois ou quatro cilindros
- Outro: qualquer outra coisa
- Adicione o módulo Selecionar Colunas no Conjuntos de Dados e selecione apenas a
num-of-cylinders
coluna . - Adicione o módulo Editar Metadados e altere a coluna
num-of-cylinders
para Categórico. - Adicione o módulo Valores Categóricos de Grupo e conecte o conjunto de dados modificado.
- Em Nome de nível padrão, digite
other
. Você não precisa fornecer valores para esse nível. - Em Nome do novo nível 1, digite
big
. Na lista de níveis antigos a mapear para o nível 1, colar emsix, eight, twelve
. - Em Nome do novo nível 2, digite
small
. Para os valores mapeados, colar emtwo, four
. - Execute o experimento.
- Ao visualizar os resultados, você percebe que o conjuntos de dados original tinha alguns tamanhos de mecanismo ímpares que você não tinha em conta, como
five
ethree
. Todos esses itens são mapeados para oother
nível .
Observações técnicas
Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.
Você pode encontrar a mensagem de erro "A coluna com o nome "<columnname>" não está em uma categoria permitida."
Essa mensagem indica que a coluna selecionada não é uma coluna categórica. Você pode marcar a coluna como
Categorical
usando Editar Metadados ou selecionar uma coluna diferente que contenha valores de categoria apropriados.
Entradas esperadas
Nome | Tipo | Descrição |
---|---|---|
Dataset | Tabela de Dados | Dados a serem agrupados |
Parâmetros do módulo
Nome | Intervalo | Type | Padrão | Descrição |
---|---|---|---|---|
Colunas Selecionadas | any | ColumnSelection | CategoricalAll | Selecione as colunas que serão agrupadas. |
Modo de saída | any | OutputTo | ResultOnly | Especifique como os rótulos de categoria devem ser gerados. |
Nome do nível padrão | any | Cadeia de caracteres | Indica o nível padrão a ser usado se não houver correspondência de mapeamento. | |
Novo número de níveis | Lista | Número de grupos | Especifique o número de níveis após o agrupamento dos valores, incluindo o nível padrão. |
Saída
Nome | Tipo | Descrição |
---|---|---|
Conjunto de dados de resultados | Tabela de Dados | Dados agrupados |