Build Counting Transform
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.
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) 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 Build Counting Transform em 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 reencagrer. 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 a 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, em seguida, fundi-lo com novos dados para criar uma tabela de contagem atualizada.
Criar funcionalidades baseadas na contagem a partir de um conjunto de dados
Comece aqui se não criou contagens antes. Utiliza o módulo Build Counting Transform para criar tabelas de contagem e gerar automaticamente um conjunto de funcionalidades.
Este processo cria uma transformação de funcionalidade que pode aplicar a um conjunto de dados, utilizando o módulo De Transformação De Aplicar .
Fusão conta e funcionalidades de vários conjuntos de dados
Se já gerou uma tabela de contagem a partir de um conjunto de dados anterior, gere apenas os novos dados ou importa uma tabela de contagem existente criada numa versão anterior de Machine Learning. Em seguida, fundir os dois conjuntos de tabelas de contagem
Este processo cria uma nova transformação de funcionalidade que pode aplicar a um conjunto de dados, utilizando o módulo De Transformação De Aplicar .
Criar funcionalidades baseadas na contagem a partir de um conjunto de dados
Em 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 Aprendizagem com o Counts.
Ligação o conjunto de dados que pretende utilizar como base para as nossas funcionalidades baseadas na contagem.
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.
- Para qualquer problema de classificação binária, escreva
Para a opção Os bits da função hash, indique o número de bits a utilizar no hash dos 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.
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.
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 um conjunto de dados no Machine Learning Studio (clássico).
Blob: Escolha esta opção se os seus dados de origem utilizados para construir contagens forem armazenados como uma bolha de bloco no Windows armazenamento Azure.
MapReduce: Escolha esta opção se quiser 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 Windows armazenamento Azure, e você deve ter acesso a um cluster HDInsight implantado. Quando executa a experiência, um trabalho de Mapa/Redução é lançado 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, consulte https://azure.microsoft.com/services/hdinsight/.
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 para aceder 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.
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 uma etiqueta ou um erro é levantado.
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.
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 hash independentes com uma gama menor são usadas para melhorar a eficiência da memória e reduzir a probabilidade de colisões de hash. Os parâmetros para o tamanho da broca de hashing e a semente de hashing não têm qualquer efeito nesta opção.
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
Em 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.
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 Machine Learning Studio (clássico).
Blob: Escolha esta opção se os novos dados forem fornecidos como uma bolha de bloco no Windows armazenamento Azure.
MapReduce: Escolha esta opção se quiser 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 Windows armazenamento 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/
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 para aceder 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.
Ao fundir conta, 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 hash
- A semente da função hash
- Selecione colunas para contar
A coluna da etiqueta pode ser diferente, desde que contenha o mesmo número de classes.
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 .
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.
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.
- Usando a Azure ML para construir modelos de previsão de cliques
- Big Aprendizagem Made Easy with Counts!
As seguintes experiências na Galeria Azure AI demonstram como utilizar a aprendizagem baseada na contagem para construir vários modelos preditivos:
- Aprendizagem com condes - Classificação Binária
- Aprendizagem com Condes: Classificação multiclasse com dados de táxi nyc
- Aprendizagem com Condes: Classificação binária com dados de táxi de NYC
Parâmetros do módulo
São utilizados os seguintes parâmetros com todas as opções:
Nome | Tipo | Intervalo | Opcional | Predefinição | Description |
---|---|---|---|---|---|
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 hash | Número inteiro | [12;31] | Necessário | 20 | O número de bits da gama de funções de hash. |
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 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 | Description |
---|---|---|---|---|---|
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 do ficheiro de texto blob. |
Aplicam-se os seguintes parâmetros ao utilizar o MapReduce para gerar contagens:
Nome | Tipo | Intervalo | Opcional | Predefinição | Description |
---|---|---|---|---|---|
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 padrão | 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 | Description |
---|---|---|---|---|---|
Tipo de tabela 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 hash. |
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 hash. |
Í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 contagem | Necessário se a tabela de contagem for guardada como Dataset | Dicionário | Especifica o tipo da 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 hash. |
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 de hash. |
Saídas
Nome | Tipo | Description |
---|---|---|
Contagem de transformação | Interface ITransform | A contagem transforma-se. |
Exceções
Exceção | Description |
---|---|
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 do 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 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.