Partilhar via


Transformação de Dados - Aprendizagem com Condes

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

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Este artigo descreve os módulos em Machine Learning Studio (clássico) que suportam a caracterização baseada na contagem.

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.

Aprendizagem com contagens é uma forma eficiente de criar um conjunto compacto de funcionalidades de conjunto de dados que se baseiam em contagens dos valores. Pode utilizar os módulos desta categoria para construir um conjunto de contagens e funcionalidades. Mais tarde, pode atualizar as contagens e as funcionalidades para tirar partido de novos dados, ou fundir dois conjuntos de dados de contagem.

Sobre a caracterização baseada na contagem

A ideia básica da caracterização baseada na contagem é que ao calcular as contagens, você pode obter rapidamente e facilmente um resumo do que as colunas contêm a informação mais importante. O módulo conta o número de vezes que um valor aparece e, em seguida, fornece essa informação como uma característica de entrada para um modelo.

Imagine que está a validar uma transação de cartão de crédito. Uma informação crucial é de onde veio esta transação. Uma das codificações mais comuns da origem da transação é o código postal. No entanto, pode haver até 40.000 códigos postais, códigos postais e códigos geográficos para contabilizar. O seu modelo tem a capacidade de aprender mais 40.000 parâmetros? Se lhe der essa capacidade, tem dados de treino suficientes para evitar que se desajuste?

Se tiver bons dados, com muitas amostras, tal granularidade local de grãos finos pode ser poderosa. No entanto, se você tem apenas uma amostra de uma transação fraudulenta, de uma pequena localidade, significa que todas as transações desse lugar são más, ou que você não tem dados suficientes?

Uma solução é aprender com os condes. Em vez de introduzir mais 40.000 funcionalidades, pode observar as contagens e proporções de fraude para cada código postal. Ao usar estas contagens como características, obtém informações sobre a força da evidência para cada valor. Além disso, codificando as estatísticas relevantes das contagens, o aluno pode utilizar as estatísticas para decidir quando alterar a sua abordagem e, em vez disso, utilizar outras funcionalidades para obter a informação.

A aprendizagem baseada na contagem é atraente por muitas razões. Com a aprendizagem baseada na contagem, você tem menos características, o que requer menos parâmetros. Menos parâmetros fazem com que a aprendizagem mais rápida, a previsão mais rápida, os preditores mais pequenos, e menos potencial para se sobreajustarem.

Como as funcionalidades baseadas na contagem são criadas

Um exemplo básico pode ajudar a demonstrar como as funcionalidades baseadas na contagem são criadas e aplicadas. Suponha que tenha a seguinte tabela como esta, com etiquetas e entradas. Cada caso (ou linha ou amostra) tem um conjunto de valores em colunas. Neste exemplo, os valores são A e B.

Coluna de etiqueta Valor de entrada
0 A
0 A
1 A
0 B
1 B
1 B
1 B

Estes são os passos que toma para criar funcionalidades baseadas na contagem:

  1. Para um conjunto específico de valores, encontre todos os outros casos nesse conjunto de dados que tenham o mesmo valor. Neste caso, há três casos de A e quatro casos de B.
  2. Conte a adesão de classe de cada valor como uma característica em si mesma. Neste caso, obtém-se uma pequena matriz: há dois casos em que A = 0; um caso em que A = 1; um caso em que B = 0; e três casos em que B = 1.
  3. Com base nesta matriz, obtém-se uma variedade de funcionalidades baseadas na contagem. Estes incluem um cálculo da relação log-odds e as contagens para cada classe-alvo. A tabela na secção seguinte mostra os dados.

Tabela de amostras de características baseadas na contagem

Etiqueta 0_0_Class000_Count 0_0_Class001_Count 0_0_Class000_LogOdds 0_0_IsBackoff
0 2 1 0.510826 0
0 2 1 0.510826 0
1 2 1 0.510826 0
0 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0
1 1 3 -0.8473 0

Exemplos

Em Use Machine Learning para construir modelos de previsão clickthrough, a equipa de Machine Learning da Microsoft fornece uma caminhada detalhada sobre como usar contagens na aprendizagem automática. O artigo compara a eficácia da modelação baseada na contagem com outros métodos.

Notas técnicas

Esta secção contém detalhes de implementação, dicas e respostas a perguntas frequentes.

Como o valor da perda de registo é calculado

O valor da perda de registo não é o simples log-odds. Neste caso, a distribuição prévia é usada para suavizar a computação de odds de registo.

Suponha que tenha um conjunto de dados que seja usado para classificação binária. Neste conjunto de dados, a frequência prévia para a classe 0 é p_0, e a frequência prévia para a classe 1 é p_1 = 1 – p_0. Para uma característica específica de exemplo de treino, a contagem para a classe 0 é x_0, e a contagem para a classe 1 é x_1.

Sob estes pressupostos, as odds de log são calculadas como LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1), onde c está o coeficiente anterior, que pode ser definido pelo utilizador. A função de log utiliza a base natural.

Por outras palavras, para cada classe i:

Log_odds[i] = Log( (count[i] + prior_coefficient * prior_frequency[i]) / (sum_of_counts - count[i]) + prior_coefficient \* (1 - prior_frequency[i]))

Se o coeficiente anterior for positivo, as probabilidades de registo podem ser diferentes de Log(count[i] / (sum_of_counts – count[i])).

Por que as probabilidades de log não são calculadas para alguns itens

Por defeito, todos os itens com uma contagem inferior a 10 são recolhidos num único balde chamado "caixote do lixo". Pode alterar este valor utilizando a opção limiar do caixote do lixo no módulo Descodução de Parâmetros da Tabela .

Lista de módulos

A categoria Aprendizagem com Conta inclui os seguintes módulos:

  • Build Counting Transform: Cria uma tabela de contagem e funcionalidades baseadas na contagem a partir de um conjunto de dados e, em seguida, guarda a tabela e as características como uma transformação.
  • Tabela de Contagem de Exportações: Exporta uma tabela de contagem de uma transformação de contagem. Este módulo suporta a retrocompatibilidade com experiências que criam funcionalidades baseadas na contagem, utilizando a Tabela de Contagem de Construção (depreciada) e o Conde Featurizer (precotado).
  • Tabela de Contagem de Importações: Importa uma tabela de contagem existente. Este módulo suporta a retrocompatibilidade com experiências que criam funcionalidades baseadas na contagem, utilizando a Tabela de Contagem de Construção (depreciada) e o Conde Featurizer (precotado). O módulo suporta a conversão de tabelas de contagem para contar transformações.
  • Merge Count Transform: Funde dois conjuntos de funcionalidades baseadas na contagem.
  • Modificar os parâmetros da tabela de contagem: Modifica as características baseadas na contagem que são derivadas de uma tabela de contagem existente.

Ver também