Compartilhar via


Regressão Logística de Duas Classes

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 um modelo de regressão logística de duas classes

Categoria: Machine Learning/Inicializar modelo/classificação

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.

Visão geral do módulo

Este artigo descreve como usar o módulo Regressão Logística de Duas Classes no Machine Learning Studio (clássico) para criar um modelo de regressão logística que pode ser usado para prever dois (e apenas dois) resultados.

A regressão logística é uma técnica estatística conhecida que é usada para modelar os vários tipos de resultados. Esse algoritmo é um método de aprendizado supervisionado. Portanto, você deve fornecer um conjunto de um conjunto de dados que já contém os resultados para treinar o modelo.

Mais sobre regressão logística

A regressão logística é um método conhecido em estatística que é usado para prever a probabilidade de um resultado e é popular especialmente por tarefas de classificação. O algoritmo prevê a probabilidade de ocorrência de um evento ajustando dados para uma função logística. Para obter detalhes dessa implementação, consulte a seção Notas Técnicas.

Neste módulo, o algoritmo de classificação é otimizado para dicotômicas ou variáveis binárias. Se você precisar classificar vários resultados, use o módulo Regressão Logística Multiclasse.

Como configurar a regressão Two-Class logística

Para treinar esse modelo, você deve fornecer um conjunto de um dados que contenha uma coluna de rótulo ou de classe. Como esse módulo destina-se a problemas de duas classes, a coluna de rótulo ou de classe deve conter exatamente dois valores.

Por exemplo, a coluna de rótulo pode ser [voto] com os valores possíveis de "Sim" ou "Não". Ou, pode ser [Risco de Crédito], com os valores possíveis de "Alto" ou "Baixo".

  1. Adicione o módulo Regressão Logística de Duas Classes ao seu experimento no Studio (clássico).

  2. Especifique de que modo você quer que o modelo seja treinado ao definir a opção Criar modo de treinador.

    • Parâmetro Único: se você sabe como deseja configurar o modelo, é possível fornecer um conjunto específico de valores como argumentos.

    • Intervalo de Parâmetros: se você não tiver certeza dos melhores parâmetros, poderá encontrar os parâmetros ideais especificando vários valores e usando o módulo Ajustar Hiperparmetros do Modelo para encontrar a configuração ideal. O treinador itera em várias combinações das configurações e determina a combinação de valores que produz o melhor modelo.

  3. Para a tolerância de otimização, especifique um valor de limite a ser usado ao otimizar o modelo. Se a melhoria entre as iterações cair abaixo do limite especificado, o algoritmo será considerado convergido em uma solução e o treinamento será interrompido.

  4. Para opeso de regularização L1 e peso de regularização L2, digite um valor a ser usado para os parâmetros de regularização L1 e L2. Um valor diferente de zero é recomendado para ambos.

    A Regularização é um método para evitar o sobreajuste prejudicando modelos com valores extremos. A regularização funciona adicionando a penalidade associada com valores de coeficiente para o erro da hipótese. Assim, um modelo preciso com valores coeficientes extremos poderia ser mais penalizado, mas um modelo menos preciso com valores mais conservadores poderia ser menos penalizado.

    As regularizações L1 e L2 têm efeitos e usos diferentes.

    • L1 pode ser aplicado aos modelos esparsos, que é útil ao trabalhar com dados de grande dimensão.

    • Por outro lado, a regularização L2 é preferível para dados que não são esparsos.

    Este algoritmo dá suporte a uma combinação linear de valores de regularização L1 e L2: ou seja, se x = L1 e y = L2, então ax + by = c define o intervalo linear dos termos de regularização.

    Observação

    Você gostaria de saber mais sobre a regularização de L1 e L2? O artigo a seguir fornece uma discussão de como a regularização L1 e L2 é diferente e como elas afetam o ajuste de modelo, com exemplos de código para a regressão logística e modelos de rede neural: a regularização L1 e L2 para Machine Learning

    Combinações lineares diferentes dos termos de L1 e L2 foram elaborados para modelos de regressão logística: por exemplo, regularização de rede elástica. Sugerimos que você referencie essas combinações para definir uma combinação linear efetiva no seu modelo.

  5. Para o tamanho da memória para L-BFGS, especifique a quantidade de memória a ser usada para a otimização de L-BFGS.

    L-BFGS significa “Broyden-Fletcher-Goldfarb-Shanno de memória limitada”. É um algoritmo de otimização que é conhecido por estimativa de parâmetro. Esse parâmetro indica o número de posições anteriores e gradientes a armazenar o cálculo da próxima etapa.

    Esse parâmetro de otimização limita a quantidade de memória usada para calcular a próxima etapa e direção. Quando você especifica menos memória, o treinamento é mais rápido, mas menos preciso.

  6. Para semente de número aleatório, digite um valor inteiro. Definir um valor de semente é importante se você quiser que os resultados sejam reproduzíveis em várias executações do mesmo experimento.

  7. Selecione a opção Permitir níveis categóricos desconhecidos para criar um nível "desconhecido" adicional em cada coluna categórica. Se você fizer isso, todos os valores (níveis) no conjuntos de dados de teste que não estão disponíveis no conjuntos de dados de treinamento serão mapeados para esse nível "desconhecido".

  8. Adicione um conjuntos de dados marcado ao experimento e conecte um dos módulos de treinamento.

    Observação

    Se você passar um intervalo de parâmetros para Treinar Modelo, ele usará apenas o primeiro valor na lista de intervalos de parâmetros.

    Se você passar um único conjunto de valores de parâmetro para o módulo Ajustar Hiperparérmetros de Modelo, quando ele espera um intervalo de configurações para cada parâmetro, ele ignora os valores e usa os valores padrão para o aluno.

    Se você selecionar a opção Intervalo de Parâmetros e inserir um único valor para qualquer parâmetro, esse único valor especificado será usado durante a varredura, mesmo se outros parâmetros mudarem em um intervalo de valores.

  9. Execute o experimento.

Resultados

Após a conclusão do treinamento:

  • Para ver um resumo dos parâmetros do modelo, junto com os pesos dos recursos aprendidos com o treinamento, clique com o botão direito do mouse na saída de Treinar Modelo ou Ajustar Hiperparmetros do Modelo e selecione Visualizar.

  • Para fazer previsões sobre novos dados, use o modelo treinado e novos dados como entrada para o módulo Modelo de Pontuação.

  • Para executar a validação cruzada em um conjunto de dados rotulado, conecte os dados e o modelo não treinado ao Modelo de Validação Cruzada.

Exemplos

Para exemplos de como esse algoritmo de aprendizado é usado, consulte o Galeria de IA do Azure:

Observações técnicas

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

Dicas de uso

A regressão logística requer variáveis numéricas. Portanto, quando você usa colunas categóricas como variável, Machine Learning converte os valores em uma matriz de indicador internamente.

Para datas e horas, uma representação numérica é usada. (Para obter mais informações sobre valores de data e hora, consulte Estrutura dateTime (.NET Framework) – Comentários.) Se você quiser lidar com datas e horas de forma diferente, sugerimos que você crie uma coluna derivada.

Detalhes de implementação

A regressão logística pressupou uma distribuição logística dos dados, em que a probabilidade de um exemplo pertencer à classe 1 é a fórmula:

p(x;β0,…, βD-1)

Em que:

  • x é um vetor dimensional D que contém os valores de todos os recursos da instância.

  • p é a função de distribuição de logística.

  • β{0},..., β {D-1} são os parâmetros desconhecidos da distribuição logística.

O algoritmo tenta encontrar os valores ideais para β{0},..., β {D-1} maximizando a probabilidade de log dos parâmetros considerando as entradas. A maximização é executada usando um método popular para estimativa de parâmetro, chamado BFGS de Memória Limitada.

Pesquisa

Para obter mais informações sobre a implementação desse algoritmo, consulte Treinamento escalonável de modelos Log-Linear L-1, por Andrew e Gao.

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Tolerância de otimização >=double.Epsilon Float 0.0000001 Especifique um valor de tolerância para o otimizador L-BFGS
Peso de regularização L1 >=0,0 Float 1,0 Especifica o peso de regularização L1
Peso da regularização L2 >=0,0 Float 1,0 Especificar o peso da regularização L2
Tamanho da memória para L-BFGS >=1 Integer 20 Especifique a quantidade de memória (em MB) a ser usada para o otimizador L-BFGS
Propagação de número aleatório Qualquer Integer Digite um valor para propagar o gerador de número aleatório usado pelo modelo. Deixe em branco para o padrão.
Permitir níveis categóricos desconhecidos Qualquer Booliano verdadeiro Indique se um nível adicional deve ser criado para cada coluna categórica. Quaisquer níveis no conjunto de dados teste que não estão disponíveis no conjunto de dados de treinamento são mapeados para este nível adicional.

Saída

Nome Tipo Descrição
Modelo não treinado Interface ILearner Um modelo de classificação não treinado

Confira também

Classificação

Regressão Logística Multiclasse

Lista de Módulo A-Z