Build Counting Transform

Cria uma transformação que transforma tabelas de contagem em funcionalidades, para que possa aplicar a transformação em vários conjuntos de dados

Categoria: Aprendizagem com Condes

Nota

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

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo Build Counting Transform no Azure Machine Learning Studio (clássico), para analisar dados de treino. A partir destes dados, o módulo constrói uma tabela de contagem, bem como um conjunto de funcionalidades baseadas na contagem que podem ser usadas num modelo preditivo.

Uma tabela de contagem contém a distribuição conjunta de todas as colunas de características, dada uma coluna de etiqueta especificada. Estas estatísticas são úteis para determinar quais as colunas que têm mais valor de informação. A caracterização baseada no conde é útil porque tais características são mais compactas do que os dados de treino originais, mas capturam todas as informações mais úteis. Pode utilizar os parâmetros do módulo para personalizar a forma como as contagens são transformadas no novo conjunto de funcionalidades baseadas na contagem.

Depois de gerar contagens e transformá-las em funcionalidades, pode guardar o processo como uma transformação para reutilização em dados relacionados. Também pode modificar o conjunto de funcionalidades sem ter de gerar um novo conjunto de contagens, ou fundir as contagens e funcionalidades com outro conjunto de contagens e funcionalidades.

A capacidade de reutilizar e reaprplica funcionalidades baseadas na contagem é útil em cenários como estes:

  • Novos dados ficam disponíveis para melhorar a cobertura ou o equilíbrio do seu conjunto de dados.
  • As suas contagens e funcionalidades originais basearam-se num conjunto de dados muito grande que não pretende reencacançar. Ao fundir as contagens pode atualizar com novos dados.
  • Pretende certificar-se de que o mesmo conjunto de funcionalidades baseadas na contagem é aplicado a todos os conjuntos de dados que está a utilizar na sua experiência.

Como configurar build counting transform

Pode criar uma transformação de recurso baseada na contagem diretamente a partir de um conjunto de dados, e re-executá-la cada vez que executar uma experiência. Ou, pode gerar um conjunto de contagens, e depois fundi-lo com novos dados para criar uma tabela de contagem atualizada.

Criar funcionalidades baseadas na contagem a partir de um conjunto de dados

  1. No Azure Machine Learning Studio (clássico), adicione o módulo Build Counting Transform à sua experiência. Pode encontrar o módulo em Transformação de Dados, na categoria Learning with Counts.

  2. Ligue o conjunto de dados que pretende utilizar como base para as nossas funcionalidades baseadas na contagem.

  3. Utilize a opção Número de classes para especificar o número de valores na coluna da etiqueta.

    • Para qualquer problema de classificação binária, escreva 2 .
    • Para um problema de classificação com mais de duas saídas possíveis, deve especificar com antecedência o número exato de classes a contar. Se introduzir um número inferior ao número real de aulas, o módulo retornará um erro.
    • Se o seu conjunto de dados contiver vários valores de classe e os valores da etiqueta de classe não forem sequenciais, deve utilizar metadados de edição para especificar que a coluna contém valores categóricos.
  4. Para a opção, os pedaços de função de haxixeindicam quantos bits devem utilizar ao hashing os valores.

    É geralmente seguro aceitar os incumprimentos, a menos que saiba que há muitos valores a contar e uma contagem de bits mais alta pode ser necessária.

  5. Na semente da função hash, pode especificar opcionalmente um valor para semear a função de hashing. A definição manual de uma semente é normalmente feita quando se pretende garantir que os resultados do hashing são determinísticos em séries da mesma experiência.

  6. Utilize a opção tipo Módulo para indicar o tipo de dados que irá contar, com base no modo de armazenamento:

    • Conjunto de dados: Escolha esta opção se estiver a contar dados que são guardados como conjunto de dados no Azure Machine Learning Studio (clássico).

    • Blob: Escolha esta opção se os dados de origem utilizados para construir contagens forem armazenados como uma bolha de bloco no armazenamento do Windows Azure.

    • MapReduce: Escolha esta opção se pretender ligar para o Mapa/Reduzir funções para processar os dados.

      Para utilizar esta opção, os novos dados devem ser fornecidos como uma bolha no armazenamento do Windows Azure, e você deve ter acesso a um cluster HDInsight implantado. Quando executa a experiência, é lançado um trabalho de Mapa/Redução no cluster para realizar a contagem.

      Para conjuntos de dados muito grandes, recomendamos que utilize esta opção sempre que possível. Embora possa incorrer em custos adicionais para a utilização do serviço HDInsight, a computação sobre grandes conjuntos de dados pode ser mais rápida em HDInsight.

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

  7. Depois de especificar o modo de armazenamento de dados, forneça qualquer informação adicional de ligação para os dados necessários:

    • Se estiver a utilizar dados do Hadoop ou do armazenamento de bolhas, forneça a localização do cluster e as credenciais.
    • Se anteriormente utilizou um módulo de Dados de Importação na experiência de acesso aos dados, deve reintrodutar o nome da conta e as suas credenciais. O módulo Build Counting Transform acede ao armazenamento de dados separadamente para ler os dados e construir as tabelas necessárias.
  8. Para a coluna ou índice do rótulo, selecione uma coluna como coluna de etiqueta.

    É necessária uma coluna de etiquetas. A coluna já deve ser marcada como um rótulo ou um erro é levantado.

  9. Utilize a opção, selecione colunas para contar, e selecione as colunas para as quais gerar contagens.

    Em geral, os melhores candidatos são colunas de alta dimensão, juntamente com quaisquer outras colunas que estejam correlacionadas com essas colunas.

  10. Utilize a opção do tipo de tabela Count para especificar o formato utilizado 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 cordas, e são hashed usando um pouco de matriz de até 31 bits de tamanho. Portanto, todos os valores da coluna são representados por um inteiro não negativo de 32 bits.

      Em geral, deve utilizar esta opção para conjuntos de dados mais pequenos (menos de 1 GB) e utilizar a opção CMSketch para conjuntos de dados maiores.

      Depois de selecionar esta opção, configuure o número de bits utilizados pela função hashing e desafie uma semente para inicializar a função hash.

    • CMSketch: Cria uma tabela de esboços mínimos de contagem. Com esta opção, várias funções de haxixe independentes com uma gama menor são usadas para melhorar a eficiência da memória e reduzir a chance de colisões de haxixe. Os parâmetros para o tamanho da broca de hashing e a semente de hashing não têm qualquer efeito nesta opção.

  11. Execute a experimentação.

    O módulo cria uma transformação de exibição que pode utilizar como entrada para o módulo De Transformação Aplicada. A saída do módulo De Transformação Aplicada é um conjunto de dados transformado que pode ser usado para treinar um modelo.

    Opcionalmente, pode guardar a transformação se quiser fundir o conjunto de funcionalidades baseadas na contagem com outro conjunto de funcionalidades baseadas na contagem. Para mais informações, consulte Merge Count Transform.

Fusão conta e funcionalidades de vários conjuntos de dados

  1. No Azure Machine Learning Studio (clássico), adicione o módulo Build Counting Transform à sua experiência e ligue o conjunto de dados que contém os novos dados que pretende adicionar.

  2. Utilize a opção tipo Módulo para indicar a origem dos novos dados. Pode fundir dados de diferentes fontes.

    • Conjunto de dados: Escolha esta opção se os novos dados forem fornecidos como um conjunto de dados no Azure Machine Learning Studio (clássico).

    • Blob: Escolha esta opção se os novos dados forem fornecidos como uma bolha de bloco no armazenamento do Windows Azure.

    • MapReduce: Escolha esta opção se pretender ligar para o Mapa/Reduzir funções para processar os dados.

      Para utilizar esta opção, os novos dados devem ser fornecidos como uma bolha no armazenamento do Windows Azure, e você deve ter acesso a um cluster HDInsight implantado. Quando executar a experiência, um trabalho de Mapa/Redução será lançado no cluster para realizar a contagem.

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

  3. Depois de especificar o modo de armazenamento de dados, forneça qualquer informação adicional de ligação para os novos dados:

    • Se estiver a utilizar dados do Hadoop ou do armazenamento de bolhas, forneça a localização do cluster e as credenciais.

    • Se anteriormente utilizou um módulo de Dados de Importação na experiência de acesso aos dados, deve reintrodutar o nome da conta e as suas credenciais. A razão é que o módulo Build Counting Transform acede ao armazenamento de dados separadamente para ler os dados e construir as tabelas necessárias.

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

    • Número de classes
    • Os pedaços de função de haxixe
    • A semente da função hash
    • Selecione colunas para contar

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

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

    Dica

    O formato das duas tabelas de contagem que pretende fundir deve ser o mesmo. Por outras palavras, se guardou uma tabela de contagem anterior utilizando o formato Dicionário, não poderá fundi-la com as contagens guardadas utilizando o formato CMSketch.

  6. Execute a experimentação.

    O módulo cria uma transformação de exibição que pode utilizar como entrada para o módulo De Transformação Aplicada. A saída do módulo De Transformação Aplicada é um conjunto de dados transformado que pode ser usado para treinar um modelo.

  7. Para fundir este conjunto de contagens com um conjunto existente de funcionalidades baseadas na contagem, consulte Merge Count Transform.

Exemplos

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

As seguintes experiências na Galeria Azure AI demonstram como usar a aprendizagem baseada na contagem para construir vários modelos preditivos:

Parâmetros do módulo

Os seguintes parâmetros são utilizados com todas as opções:

Nome Tipo Intervalo Opcional Predefinição Descrição
Número de classes Número inteiro >=2 Necessário 2 O número de aulas para o rótulo.
Os pedaços de função de haxixe Número inteiro [12;31] Necessário 20 O número de bits da gama de funções de haxixe.
A semente da função hash Número inteiro qualquer Necessário 1 A semente para a função hash.
Tipo de módulo Necessário Conjunto de dados O tipo de módulo a utilizar ao gerar a tabela de contagem.
Tipo de tabela de contagem CountTableType selecionar a partir da lista Necessário Dicionário Especifique o formato da tabela de contagem.

Aplicam-se as seguintes opções ao selecionar a opção blob.

Nome Tipo Intervalo Opcional Predefinição Descrição
Nome do blob String qualquer Necessário O nome da bolha de entrada. Não inclua o nome do recipiente.
Nome da conta String qualquer Necessário O nome da conta de armazenamento.
Chave da conta SecureString qualquer Necessário A chave da conta de armazenamento.
Nome do contentor String qualquer Necessário O recipiente de bolhas Azure que contém a bolha de entrada.
Contar colunas String qualquer Necessário Os índices de uma base de grupos de colunas para realizar a contagem.
Coluna de etiqueta Número inteiro >=1 Necessário 1 O índice de uma base da coluna do rótulo.
Formato blob qualquer Necessário CSV O formato de ficheiro de texto blob.

Aplicam-se os seguintes parâmetros quando se utilizam o MapReduce para gerar contagens:

Nome Tipo Intervalo Opcional Predefinição Descrição
Nome predefinido da conta de armazenamento String qualquer Necessário nenhum O nome da conta de armazenamento que contém a bolha de entrada.
Chave de conta de armazenamento predefinido SecureString qualquer Necessário nenhum A chave da conta de armazenamento que contém a bolha de entrada.
Nome do recipiente predefinido String qualquer Necessário nenhum O nome do recipiente blob para escrever a mesa de contagem.
Cluster URI String qualquer Necessário nenhum O URI para o cluster HDInsight Hadoop.
Nome de utilizador String qualquer Necessário nenhum O nome de utilizador para iniciar sessão no cluster HDInsight Hadoop.

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

Nome Tipo Intervalo Opcional Predefinição Descrição
Tipo de tabela de contagem CountTableType Lista Necessário Dicionário Tipo da tabela de contagem.
Índice ou nome da coluna de etiquetas Seleção de Colunas Necessário se a tabela de contagem for guardada como Dataset nenhum Selecione a coluna de etiquetas.
Selecione colunas para contar Seleção de Colunas Necessário se a tabela de contagem for guardada como Dataset Selecione colunas para a contagem. Estas colunas são consideradas características categóricas.
Profundidade da tabela de esboços CM Número inteiro >=1 Requerido se a tabela de contagem utilizar o formato CMSketch 4 A profundidade da tabela de esboços CM, que equivale ao número de funções de haxixe.
Largura da tabela de esboços CM Número inteiro [1;31] Requerido se a tabela de contagem utilizar o formato CMSketch 20 A largura da tabela de esboços CM, que é o número de bits da gama de funções de haxixe.
Índice de coluna de etiqueta ou namecolumn Seleção de Colunas Necessário se a tabela de contagem for guardada como Dataset Seleciona a coluna de etiquetas.
Selecione colunas para contar Seleção de Colunas Necessário se a tabela de contagem for guardada como Dataset Seleciona colunas para a contagem. Estas colunas são consideradas características categóricas.
Tipo de tabela de contagem Necessário se a tabela de contagem for guardada como Dataset Dicionário Especifica o tipo de tabela de contagem.
Profundidade da tabela de esboços CM Número inteiro >=1 Necessário se a tabela de contagem for guardada como CMSketch 4 A profundidade da tabela de esboços CM, que equivale ao número de funções de haxixe.
Largura da tabela de esboços CM Número inteiro [1;31] Necessário se a tabela de contagem for guardada como CMSketch 20 A largura da tabela de esboços CM, que é o número de bits da gama de função hash.

Saídas

Nome Tipo Descrição
Contagem de transformação Interface ITransform A contagem transforma-se.

Exceções

Exceção Descrição
Erro 0003 A exceção ocorre se uma ou mais entradas forem nulas ou vazias.
Erro 0004 A exceção ocorre se o parâmetro for inferior ou igual ao valor específico.
Erro 0005 A exceção ocorre se o parâmetro for inferior a um valor específico.
Erro 0007 A exceção ocorre se o parâmetro for maior do que um valor específico.
Erro 0009 A exceção ocorre se o nome da conta de armazenamento Azure ou o nome do contentor especificado incorretamente.
Erro 0065 A exceção ocorre se o nome da bolha Azure for especificado incorretamente.
Erro 0011 A exceção ocorre se o argumento de conjunto de colunas aprovada não se aplicar a nenhuma das colunas do conjunto de dados.
Erro 0049 A exceção ocorre no caso em que não é possível analisar um ficheiro.
Erro 1000 Exceção da biblioteca interna.
Erro 0059 A exceção ocorre se um índice de coluna especificado num selecionador de colunas não puder ser analisado.
Erro 0060 A exceção ocorre quando uma coluna fora de alcance é especificada num selecionador de colunas.
Erro 0089 A exceção ocorre quando o número especificado de classes é inferior ao número real de classes num conjunto de dados utilizado para a contagem.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte códigos de erro de aprendizagem automática.

Para obter uma lista de exceções da API, consulte códigos de erro da API de aprendizagem automática.

Ver também

Aprender com Condes