Compartilhar via


Criar transformação de contagem

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).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Cria uma transformação que transforma as tabelas de contagem em recursos, para que você possa aplicar a transformação a vários conjuntos de valores

categoria: Learning com contagens

Observação

aplica-se a: somente Machine Learning Studio (clássico)

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 criar transformação de contagem no Machine Learning Studio (clássico) para analisar os dados de treinamento. A partir desses dados, o módulo cria uma tabela de contagem , bem como um conjunto de recursos baseados em contagem que podem ser usados em um modelo de previsão.

Uma tabela de contagem contém a distribuição conjunta de todas as colunas de recurso, dada uma coluna de rótulo especificada. Essas estatísticas são úteis para determinar quais colunas têm o valor mais informações. A personalização baseada em contagem é útil porque esses recursos são mais compactados do que os dados de treinamento originais, mas capturam todas as informações mais úteis. Você pode usar os parâmetros do módulo para personalizar como as contagens são transformadas no novo conjunto de recursos baseados em contagem.

Depois de gerar contagens e transformá-las em recursos, você pode salvar o processo como uma transformação para reutilização nos dados relacionados. Você também pode modificar o conjunto de recursos sem precisar gerar um novo conjunto de contagens ou mesclar as contagens e os recursos com outro conjunto de contagens e recursos.

A capacidade de reutilizar e reaplicar recursos baseados em contagem é útil em cenários como estes:

  • Novos dados tornam-se disponíveis para melhorar a cobertura ou o equilíbrio do DataSet.
  • Suas contagens e recursos originais foram baseados em um conjunto de grandes volumes que você não deseja processar novamente. Mesclando as contagens que você pode atualizar com novos dados.
  • Você deseja garantir que o mesmo conjunto de recursos baseados em contagem seja aplicado a todos os conjuntos de itens que você está usando em seu experimento.

Como configurar a transformação de contagem de compilação

Você pode criar uma transformação de recurso baseada em contagem diretamente de um conjunto de um e executá-lo sempre que executar um experimento. Ou, você pode gerar um conjunto de contagens e, em seguida, mesclá-la com novos dados para criar uma tabela de contagem atualizada.

  • Criar recursos baseados em contagem de um conjunto de uma

    Comece aqui se você não tiver criado contagens antes. Você usa o módulo criar transformação de contagem para criar tabelas de contagem e gerar automaticamente um conjunto de recursos.

    Esse processo cria uma transformação de recurso que você pode aplicar a um conjunto de um, usando o módulo aplicar transformação .

  • Mesclar contagens e recursos de vários conjuntos de os

    Se você já tiver gerado uma tabela de contagem a partir de um conjunto de dados anterior, gere contagens apenas nos novos dados ou importe uma tabela de contagem existente criada em uma versão anterior do Machine Learning. Em seguida, mescle os dois conjuntos de tabelas de contagem

    Esse processo cria uma nova transformação de recurso que você pode aplicar a um conjunto de um, usando o módulo aplicar transformação .

Criar recursos baseados em contagem de um conjunto de uma

  1. no Machine Learning Studio (clássico), adicione o módulo criar transformação de contagem a seu experimento. você pode encontrar o módulo em transformação de dados, na categoria Learning com contagens.

  2. Conexão o conjunto de um que você deseja usar como base para nossos recursos baseados em contagem.

  3. Use a opção número de classes para especificar o número de valores na coluna rótulo.

    • Para qualquer problema de classificação binária, digite 2 .
    • Para um problema de classificação com mais de dois resultados possíveis, você deve especificar com antecedência o número exato de classes para contagem. Se você inserir um número menor que o número real de classes, o módulo retornará um erro.
    • Se o conjunto de seus conjuntos de um tiver vários valores de classe e os valores de rótulo de classe forem não sequenciais, você deverá usar Editar metadados para especificar que a coluna contém valores categóricos.
  4. Para a opção, os bits da função de hashindicam quantos bits usar ao fazer o hash dos valores.

    Geralmente, é seguro aceitar os padrões, a menos que você saiba que há muitos valores a serem contados e uma contagem de bits superior pode ser necessária.

  5. Na semente da função de hash, você pode opcionalmente especificar um valor para propagar a função de hash. A definição manual de uma semente é normalmente feita quando você deseja garantir que os resultados de hash sejam determinísticos entre as execuções do mesmo experimento.

  6. Use a opção tipo de módulo para indicar o tipo de dados que você vai contar, com base no modo de armazenamento:

    • conjuntode dados: escolha esta opção se você estiver contando os dados que são salvos como um Dataset no Machine Learning Studio (clássico).

    • Blob: escolha esta opção se os dados de origem usados para criar contagens forem armazenados como um Blob de blocos no armazenamento Windows Azure.

    • MapReduce: escolha esta opção se desejar chamar as funções mapear/reduzir para processar os dados.

      para usar essa opção, os novos dados devem ser fornecidos como um blob no armazenamento Windows Azure e você deve ter acesso a um cluster HDInsight implantado. Quando você executa o experimento, um trabalho de mapeamento/redução é iniciado no cluster para executar a contagem.

      Para conjuntos de altos de grandes volumes, recomendamos que você use essa opção sempre que possível. Embora você pode incorrer em custos adicionais para usar o serviço HDInsight, a computação em grandes conjuntos de dados pode ser mais rápida no HDInsight.

      Para obter mais informações, consulte https://azure.microsoft.com/services/hdinsight/.

  7. Depois de especificar o modo de armazenamento de dados, forneça informações adicionais de conexão para os dados necessários:

    • Se você estiver usando dados do Hadoop ou do armazenamento de BLOB, forneça o local e as credenciais do cluster.
    • Se você usou anteriormente um módulo importar dados no experimento para acessar dados, deverá inserir novamente o nome da conta e suas credenciais. O módulo criar transformação de contagem acessa o armazenamento de dados separadamente para ler os dados e criar as tabelas necessárias.
  8. Para coluna de rótulo ou índice, selecione uma coluna como a coluna de rótulo.

    Uma coluna de rótulo é necessária. A coluna já deve estar marcada como um rótulo ou um erro é gerado.

  9. Use a opção, selecione as colunas a serem contadase selecione as colunas para as quais as contagens são geradas.

    Em geral, os melhores candidatos são colunas altamente dimensionais, junto com todas as outras colunas correlacionadas com essas colunas.

  10. Use a opção de tipo de tabela Count para especificar o formato usado para armazenar a tabela de contagem.

    • Dicionário: cria uma tabela de contagem de dicionários. Todos os valores de coluna nas colunas selecionadas são tratados como cadeias de caracteres e são transformados em hash usando uma matriz de bits de até 31 bits de tamanho. Portanto, todos os valores de coluna são representados por um inteiro de 32 bits não negativo.

      Em geral, você deve usar essa opção para conjuntos de dados menores (menos de 1 GB) e usar a opção CMSketch para grandes conjuntos.

      Depois de selecionar essa opção, configure o número de bits usados pela função de hash e defina uma semente para inicializar a função de hash.

    • CMSketch: cria uma tabela de esboço mínima de contagem. Com essa opção, várias funções de hash independentes com um intervalo menor são usadas para melhorar a eficiência da memória e reduzir a possibilidade de colisões de hash. Os parâmetros para o tamanho do bit de hash e a propagação de hash não têm nenhum efeito sobre essa opção.

  11. Execute o experimento.

    O módulo cria uma transformação personalização que você pode usar como entrada para o módulo aplicar transformação . A saída do módulo aplicar transformação é um conjunto de resultados transformado que pode ser usado para treinar um modelo.

    Opcionalmente, você pode salvar a transformação se quiser mesclar o conjunto de recursos baseados em contagem com outro conjunto de recursos baseados em contagem. Para obter mais informações, consulte mesclar a transformação de contagem.

Mesclar contagens e recursos de vários conjuntos de os

  1. no Machine Learning Studio (clássico), adicione o módulo criar transformação de contagem ao seu experimento e conecte o conjunto de dados que contém os novos dados que você deseja adicionar.

  2. Use a opção tipo de módulo para indicar a origem dos novos dados. Você pode mesclar dados de fontes diferentes.

    • Dataset: escolha esta opção se os novos dados forem fornecidos como um Dataset no Machine Learning Studio (clássico).

    • Blob: escolha esta opção se os novos dados forem fornecidos como um Blob de blocos no armazenamento Windows Azure.

    • MapReduce: escolha esta opção se desejar chamar as funções mapear/reduzir para processar os dados.

      para usar essa opção, os novos dados devem ser fornecidos como um blob no armazenamento Windows Azure e você deve ter acesso a um cluster HDInsight implantado. Quando você executa o experimento, um trabalho de mapeamento/redução será iniciado no cluster para executar a contagem.

      Para obter mais informações, consulte https://azure.microsoft.com/services/hdinsight/.

  3. Depois de especificar o modo de armazenamento de dados, forneça informações adicionais de conexão para os novos dados:

    • Se você estiver usando dados do Hadoop ou do armazenamento de BLOB, forneça o local e as credenciais do cluster.

    • Se você usou anteriormente um módulo importar dados no experimento para acessar dados, deverá inserir novamente o nome da conta e suas credenciais. O motivo é que o módulo criar transformação de contagem acessa o armazenamento de dados separadamente para ler os dados e criar as tabelas necessárias.

  4. Ao mesclar contagens, as seguintes opções devem ser exatamente as mesmas em ambas as tabelas de contagens:

    • Número de classes
    • Os bits de função de hash
    • A semente de função de hash
    • Selecione as colunas para contagem

    A coluna de rótulo pode ser diferente, contanto que ela contenha o mesmo número de classes.

  5. Use a opção de tipo de tabela Count para especificar o formato e o destino da tabela de contagem atualizada.

    Dica

    O formato das duas tabelas de contagem que você pretende mesclar deve ser o mesmo. Em outras palavras, se você salvou uma tabela de contagem anterior usando o formato de dicionário , não poderá mesclá-la com contagens salvas usando o formato CMSketch .

  6. Execute o experimento.

    O módulo cria uma transformação personalização que você pode usar como entrada para o módulo aplicar transformação . A saída do módulo aplicar transformação é um conjunto de resultados transformado que pode ser usado para treinar um modelo.

  7. Para mesclar esse conjunto de contagens com um conjunto existente de recursos baseados em contagem, consulte mesclar a transformação de contagem.

Exemplos

Consulte estes artigos para obter mais informações sobre o algoritmo de contagens e a eficácia da modelagem baseada em contagem em comparação com outros métodos.

Os experimentos a seguir no Galeria de ia do Azure demonstram como usar o aprendizado baseado em contagem para criar vários modelos de previsão:

Parâmetros do módulo

Os parâmetros a seguir são usados com todas as opções:

Nome Tipo Intervalo Opcional Padrão Descrição
Número de classes Inteiro >= 2 Obrigatório 2 O número de classes para o rótulo.
Os bits de função de hash Inteiro [12; 31] Obrigatório 20 O número de bits do intervalo de função de hash.
A semente de função de hash Inteiro any Necessária 1 A semente da função de hash.
Tipo de módulo Obrigatório Dataset O tipo de módulo a ser usado ao gerar a tabela de contagem.
Tipo de tabela de contagem CountTableType selecionar da lista Necessária Dicionário Especifique o formato da tabela de contagem.

As opções a seguir se aplicam ao selecionar a opção blob .

Nome Tipo Intervalo Opcional Padrão Descrição
Nome de blob String any Necessária O nome do blob de entrada. Não inclua o nome do contêiner.
Nome da conta Cadeia de caracteres any Necessária O nome da conta de armazenamento.
Chave de conta SecureString any Necessária A chave da conta de armazenamento.
Nome do contêiner String any Necessária O contêiner de blob do Azure que contém o blob de entrada.
Colunas de contagem Cadeia de caracteres any Necessária Os índices com base em um dos grupos de colunas para executar a contagem.
Coluna de rótulo Inteiro >=1 Necessária 1 O índice baseado em um da coluna de rótulo.
Formato de blob any Necessária CSV O formato de arquivo de texto de blob.

Os seguintes parâmetros se aplicam ao usar MapReduce para gerar contagens:

Nome Tipo Intervalo Opcional Padrão Descrição
Nome da conta de armazenamento padrão String any Obrigatório nenhum O nome da conta de armazenamento que contém o blob de entrada.
Chave da conta de armazenamento padrão SecureString any Necessária nenhum A chave da conta de armazenamento que contém o blob de entrada.
Nome do contêiner padrão Cadeia de caracteres any Necessária nenhum O nome do contêiner de blob para gravar a tabela de contagem.
URI do cluster Cadeia de caracteres any Necessária nenhum O URI para o cluster Hadoop do HDInsight.
Nome de Usuário Cadeia de caracteres any Necessária nenhum O nome de usuário para fazer logon no cluster Hadoop do HDInsight.

Os seguintes parâmetros definem o formato da tabela de contagem:

Nome Tipo Intervalo Opcional Padrão Descrição
Tipo de tabela de contagem CountTableType Lista Necessária Dicionário Tipo da tabela de contagem.
Nome ou índice da coluna de rótulo ColumnSelection Necessário se a tabela de contagem for salva como um dataset nenhum Selecione a coluna de rótulo.
Selecione as colunas para contagem ColumnSelection Necessário se a tabela de contagem for salva como um dataset Selecione colunas para contagem. Essas colunas são consideradas como recursos categóricos.
Profundidade da tabela de esboço CM Inteiro >=1 Necessário se a tabela de contagem usar o formato CMSketch 4 A profundidade da tabela de esboço do CM, que é igual ao número de funções de hash.
Largura da tabela de esboço CM Integer [1;31] Necessário se a tabela de contagem usar o formato CMSketch 20 A largura da tabela de esboço do CM, que é o número de bits do intervalo de função de hash.
Índice de coluna de rótulo ou namecolumn ColumnSelection Necessário se a tabela de contagem for salva como um dataset Seleciona a coluna de rótulo.
Selecione as colunas para contagem ColumnSelection Necessário se a tabela de contagem for salva como um dataset Seleciona colunas para contagem. Essas colunas são consideradas como recursos categóricos.
Tipo de tabela de contagem Necessário se a tabela de contagem for salva como um dataset Dicionário Especifica o tipo da tabela de contagem.
Profundidade da tabela de esboço CM Inteiro >=1 Necessário se a tabela de contagem for salva como CMSketch 4 A profundidade da tabela de esboços do CM, que é igual ao número de funções de hash.
Largura da tabela de esboço CM Integer [1;31] Necessário se a tabela de contagem for salva como CMSketch 20 A largura da tabela de esboço do CM, que é o número de bits do intervalo de função de hash.

Saídas

Nome Tipo Descrição
Transformação de contagem Interface ITransform A transformação de contagem.

Exceções

Exceção Descrição
Erro 0003 Ocorrerá uma exceção se uma ou mais das entradas for nula ou estiver vazia.
Erro 0004 Ocorrerá uma exceção se o parâmetro for inferior ou igual ao valor específico.
Erro 0005 Ocorrerá uma exceção se o parâmetro for menor que um valor específico.
Erro 0007 Ocorrerá uma exceção se o parâmetro for maior que um valor específico.
Erro 0009 Ocorrerá uma exceção se o nome da conta ou o nome do contêiner de armazenamento do Azure for especificado incorretamente.
Erro 0065 Ocorrerá uma exceção se o nome do blob do Azure estiver especificado incorretamente.
Erro 0011 Ocorrerá uma exceção se o argumento de conjunto de colunas passado não se aplicar a nenhuma das colunas do conjunto de dados.
Erro 0049 Ocorrerá uma exceção quando não for possível analisar um arquivo.
Erro 1000 Exceção de biblioteca interna.
Erro 0059 Ocorrerá uma exceção se um índice de coluna especificado em um seletor de colunas não puder ser analisado.
Erro 0060 Ocorrerá uma exceção quando um intervalo de coluna fora do intervalo for especificado em um seletor de colunas.
Erro 0089 A exceção ocorre quando o número especificado de classes for menor que o número real de classes em um conjunto de dados usado para contagem.

para obter uma lista de erros específicos para módulos do Studio (clássicos), consulte Machine Learning códigos de erro.

para obter uma lista de exceções de api, consulte Machine Learning códigos de erro da api REST.

Confira também

Aprendendo com contagens