Transformação de dados – Learning com contagens
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.
Este artigo descreve os módulos no Machine Learning Studio (clássico) que suportam a caracterização baseada em contagem.
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.
Learning com contagens é uma maneira eficiente de criar um conjunto compacto de recursos de conjunto de dados que se baseiam nas contagens dos valores. Você pode usar os módulos nesta categoria para criar um conjunto de contagens e recursos. Posteriormente, você pode atualizar as contagens e os recursos para aproveitar novos dados ou mesclar dois conjuntos de dados de contagem.
Sobre a apresentação baseada em contagem
A ideia básica da apresentação baseada em contagem é que, calculando contagens, você pode obter rapidamente e facilmente um resumo de quais colunas contêm as informações mais importantes. O módulo conta o número de vezes que um valor é exibido e, em seguida, fornece essas informações como um recurso para entrada em um modelo.
Imagine que você está validando uma transação de cartão de crédito. Uma informação crucial é de onde essa transação veio. 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, CEPs e códigos geográficos para levar em conta. Seu modelo tem a capacidade de aprender mais de 40.000 parâmetros? Se você lhe der essa capacidade, terá dados de treinamento suficientes para impedir que eles se sobreajustem?
Se você tiver bons dados, com muitas amostras, essa granularidade local fina poderá ser poderosa. No entanto, se você tiver apenas uma amostra de uma transação fraudulenta, de uma localidade pequena, isso significa que todas as transações desse local são ruins ou que você não tem dados suficientes?
Uma solução é aprender com contagens. Em vez de introduzir mais 40.000 recursos, você pode observar as contagens e proporções de fraude para cada cep. Ao usar essas contagens como recursos, você obterá 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 usar as estatísticas para decidir quando alterar sua abordagem e, em vez disso, usar outros recursos para obter as informações.
O aprendizado baseado em contagem é atraente por muitos motivos. Com o aprendizado baseado em contagem, você tem menos recursos, o que exige menos parâmetros. Menos parâmetros possibilitam aprendizado mais rápido, previsão mais rápida, previsões menores e menos potencial para sobreajuste.
Como os recursos baseados em contagem são criados
Um exemplo básico pode ajudar a demonstrar como os recursos baseados em contagem são criados e aplicados. Suponha que você tenha a tabela a seguir como esta, com rótulos e entradas. Cada caso (ou linha ou exemplo) tem um conjunto de valores em colunas. Neste exemplo, os valores são A e B.
Coluna de rótulo | Valor de entrada |
---|---|
0 | Um |
0 | Um |
1 | Um |
0 | B |
1 | B |
1 | B |
1 | B |
Estas são as etapas que você seguirá para criar recursos baseados em contagem:
- Para um conjunto específico de valores, localize todos os outros casos nesse conjunto de dados que têm o mesmo valor. Nesse caso, há três instâncias de A e quatro instâncias de B.
- Conte a associação de classe de cada valor como um recurso em si mesmo. Nesse caso, você obterá uma matriz pequena: 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.
- Com base nessa matriz, você obterá uma variedade de recursos baseados em contagem. Isso inclui um cálculo da taxa de probabilidades de log e as contagens de cada classe de destino. A tabela na próxima seção exibe os dados.
Tabela de exemplo de recursos baseados em contagem
Rótulo | 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 usar Machine Learning para criar modelos de previsão de clickthrough, a equipe de Machine Learning da Microsoft fornece uma explicação detalhada de como usar contagens no aprendizado de máquina. O artigo compara a eficácia da modelagem baseada em contagem com outros métodos.
Observações técnicas
Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.
Como o valor de perda de log é calculado
O valor de perda de log não é a probabilidade de log simples. Nesse caso, a distribuição anterior é usada para suavizar o cálculo de chances de log.
Suponha que você tenha um conjunto de um DataSet que é usado para classificação binária. Nesse conjunto de, a frequência anterior para a classe 0 é p_0
, e a frequência anterior para a classe 1 é p_1 = 1 – p_0
. Para um recurso de exemplo de treinamento específico, a contagem para a classe 0 é x_0
, e a contagem para a classe 1 é x_1
.
Sob essas suposições, o log-chances é calculado como LogOdds = Log(x0 + c * p0) – Log (x1 + c\p1)
, em que c
é o coeficiente anterior, que pode ser definido pelo usuário. A função log usa a base natural.
Em 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 chances de log podem ser diferentes de Log(count[i] / (sum_of_counts – count[i]))
.
Por que as chances de log não são computadas para alguns itens
Por padrão, todos os itens com uma contagem inferior a 10 são coletados em um único Bucket chamado "compartimento de lixo". Você pode alterar esse valor usando a opção limite de compartimento de lixo no módulo Modificar parâmetros de tabela de contagem .
Lista de módulos
a categoria Learning com contagens inclui os seguintes módulos:
- Criar transformação de contagem: cria uma tabela de contagem e recursos baseados em contagem de um conjunto de um e salva a tabela e os recursos como uma transformação.
- Exportar tabela de contagem: exporta uma tabela de contagem de uma transformação de contagem. Este módulo dá suporte à compatibilidade com versões anteriores com experimentos que criam recursos baseados em contagem usando a tabela de contagem de compilação (preterido) e contam Featurizer (preterido).
- Importar tabela de contagem: importa uma tabela de contagem existente. Este módulo dá suporte à compatibilidade com versões anteriores com experimentos que criam recursos baseados em contagem usando a tabela de contagem de compilação (preterido) e contam Featurizer (preterido). O módulo dá suporte à conversão de tabelas de contagem para transformações de contagem.
- Transformação de contagem de mesclagem: mescla dois conjuntos de recursos baseados em contagem.
- Modificar parâmetros da tabela de contagem: modifica os recursos baseados em contagem que são derivados de uma tabela de contagem existente.