Regressão Linear

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 linear

categoria: Machine Learning/inicializar modelo/regressão

Observação

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

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 linear no Machine Learning Studio (clássico) para criar um modelo de regressão linear para uso em um experimento. A regressão linear tenta estabelecer uma relação linear entre uma ou mais variáveis independentes e um resultado numérico, ou variável dependente.

Use esse módulo para definir um método de regressão linear e, em seguida, treinar um modelo usando um conjunto de dados rotulado. O modelo treinado pode então ser usado para fazer previsões. Como alternativa, o modelo não treinado pode ser passado para o modelo de validação cruzada para validações cruzadas em relação a um conjunto de dados rotulado.

Mais sobre a regressão linear

A regressão linear é um método estatístico comum, que foi adotado no aprendizado de máquina e aprimorado com muitos métodos novos para ajustar a linha e medir o erro. No sentido mais básico, a regressão refere-se à previsão de um destino numérico. A regressão linear ainda é uma boa opção quando você deseja um modelo muito simples para uma tarefa de previsão básica. A regressão linear também tende a funcionar bem em conjuntos de dados esparsos, altamente dimensionais sem complexidade.

o Machine Learning Studio (clássico) dá suporte a uma variedade de modelos de regressão, além da regressão linear. No entanto, o termo "regressão" pode ser interpretado livremente e alguns tipos de regressão fornecidos em outras ferramentas não têm suporte no Studio (clássico).

  • O problema de regressão clássica envolve uma única variável independente e uma variável dependente. É a chamada regressão simples. Este módulo dá suporte à regressão simples.

  • A regressão linear múltipla envolve duas ou mais variáveis independentes que contribuem para uma única variável dependente. Problemas nos quais são usadas múltiplas entradas para prever um único resultado numérico também são chamados de regressão linear multivariada.

    O módulo regressão linear pode resolver esses problemas, como a maioria dos outros módulos de regressão no estúdio (clássico).

  • Regressão de multi-rótulo é a tarefa de prever múltiplas variáveis dependentes em um único modelo. Por exemplo, na regressão logística de multi-rótulo, um exemplo pode ser atribuído para vários rótulos diferentes. (Isso é diferente da tarefa de prever ´múltiplos níveis dentro de uma única variável de classe.)

    Não há suporte para esse tipo de regressão no Machine Learning. Para prever múltiplas variáveis, crie um aprendiz separado para cada saída que deseja prever.

Há anos os estatísticos desenvolvem métodos cada vez mais avançados de regressão. Isso é verdadeiro mesmo para a regressão linear. Esse módulo dá suporte a dois métodos para medir o erro e ajustar a linha de regressão: método de mínimos quadrados ordinários e gradiente descendente.

  • O gradiente descendente é um método que minimiza a quantidade de erro em cada etapa do processo de treinamento do modelo. Há muitas variações do espaço descendente do gradiente e a otimização para vários problemas de aprendizado tem sido muito estudada. Ao escolher essa opção como Método de solução, é possível definir vários parâmetros para controlar o tamanho da etapa, a taxa de aprendizado e assim por diante. Essa opção também dá suporte ao uso de uma varredura de parâmetro integrada.

  • Os mínimos quadrados ordinários são uma das técnicas mais usadas na regressão linear. Por exemplo, o método usado nas ferramentas de análise do Microsoft Excel é o de mínimos quadrados ordinários.

    Os quadrados mínimos comuns se referem à função de perda, que calcula o erro como a soma do quadrado da distância entre o valor real e a linha prevista e se ajusta ao modelo, minimizando o erro ao quadrado. Este método assume que há uma relação linear muito forte entre as entradas e a variável dependente.

Como configurar a regressão linear

Esse módulo dá suporte a dois métodos para ajustar um modelo de regressão, com opções muito diferentes:

Criar um modelo de regressão usando mínimos quadrados ordinários

  1. Adicione o módulo modelo de regressão linear ao seu experimento no estúdio (clássico).

    Esse módulo pode ser encontrado na categoria Machine Learning. Expanda inicializar modelo, expanda regressãoe arraste o módulo modelo de regressão linear para seu experimento.

  2. No painel Propriedades, na lista suspensa Método de solução, selecione Mínimos quadrados ordinários. Esta opção especifica o método de computação usado para localizar a linha de regressão.

  3. Em Peso de regularização L2, digite o valor a ser usado como o peso para regularização L2. Recomendamos o uso de um valor diferente de zero para evitar o sobreajuste.

    Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização de L1 e L2 para Machine Learning

  4. Selecione a opção Incluir termo de interceptação, se quiser exibir o termo para a interceptação.

    Desmarque esta opção se não precisar revisar a fórmula de regressão.

  5. Para a Semente de número aleatório, é possível, opcionalmente, digitar um valor para propagar o gerador de número aleatório usado pelo modelo.

    O uso de um valor de propagação é útil se quiser manter os mesmos resultados através de execuções diferentes do mesmo experimento. Caso contrário, o padrão é usar um valor do relógio do sistema.

  6. Desmarque a opção, permitir níveis categóricos desconhecidos, se você quiser valores ausentes para gerar um erro.

    Se essa opção for selecionada, um nível adicional será criado para cada coluna categórica. Quaisquer níveis no conjunto de teste que não estavam presentes no conjunto de testes de treinamento são mapeados para esse nível adicional.

  7. Adicione o módulo modelo de treinamento ao seu experimento e conecte um conjunto de uma rotulado.

  8. Execute o experimento.

Resultados para o modelo de mínimos quadrados ordinários

Após a conclusão do treinamento:

  • Para exibir os parâmetros do modelo, clique com o botão direito do mouse na saída do instrutor e selecione Visualizar.

  • Para fazer previsões, conecte o modelo treinado ao módulo Modelo de Pontuação, juntamente com um conjunto de dados com os novos valores.

  • Para executar a validação cruzada em relação a um conjunto de dados rotulado, conecte o modelo não treinado ao modelo de validação cruzada.

Criar um modelo de regressão usando o gradiente descendente

  1. Adicione o módulo modelo de regressão linear ao seu experimento no estúdio (clássico).

    Esse módulo pode ser encontrado na categoria Machine Learning. Expanda inicializar modelo, expanda regressãoe arraste o módulo modelo de regressão linear para seu experimento

  2. No painel Propriedades, na lista suspensa método de solução, escolha descendente de gradiente online como o método de computação usado para localizar a linha de regressão.

  3. Para Criar Modo de Aprendizagem, indique se deseja treinar o modelo com um conjunto predefinido de parâmetros ou se deseja otimizar o modelo usando uma varredura de parâmetro.

    • Parâmetro Único: se já sabe como configurar a rede de regressão linear, é possível fornecer um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros: se você quiser que o algoritmo encontre os melhores parâmetros para você, defina a opção criar modo de instrutor como intervalo de parâmetros. Em seguida, você pode especificar vários valores para o algoritmo tentar.

  4. Para a Taxa de aprendizagem, especifique a taxa de aprendizagem inicial para o otimizador de deslocamento do gradiente descendente estocástico.

  5. Para o Número de épocas de treinamento, digite um valor que indique quantas vezes o algoritmo deve iterar por meio de exemplos. Para conjuntos de dados com um pequeno número de exemplos, esse número deverá ser grande para alcançar convergência.

  6. Normalizar recursos: se já tiver normalizado os dados numéricos usados para treinar o modelo, poderá desmarcar essa opção. Por padrão, o módulo normaliza todas as entradas numéricas para um intervalo entre 0 e 1.

    Observação

    Lembre-se de aplicar o mesmo método de normalização aos novos dados usados para pontuação.

  7. Em Peso de regularização L2, digite o valor a ser usado como o peso para regularização L2. Recomendamos o uso de um valor diferente de zero para evitar o sobreajuste.

    Para saber mais sobre como a regularização afeta o ajuste do modelo, consulte este artigo: Regularização de L1 e L2 para Machine Learning

  8. Selecione a opção Média da hipótese final para fazer a média da hipótese final.

    Em modelos de regressão, o teste de hipótese significa usar alguma estatística para avaliar a probabilidade da hipótese nula, que indica que não há correlação linear entre uma variável dependente e independente. Em muitos problemas de regressão, você deve testar uma hipótese que envolva mais de uma variável.

    Essa opção é habilitada por padrão, o que significa que o algoritmo testa uma combinação dos parâmetros em que dois ou mais parâmetros estão envolvidos.

  9. Selecione a opção Diminuir taxa de aprendizadocaso queira que a taxa de aprendizagem diminua conforme as iterações progridem.

  10. Para a Semente de número aleatório, é possível, opcionalmente, digitar um valor para propagar o gerador de número aleatório usado pelo modelo. O uso de um valor de propagação é útil se quiser manter os mesmos resultados através de execuções diferentes do mesmo experimento.

  11. Desmarque a opção Permitir níveis categóricos desconhecidos se você quiser que os valores ausentes acionem um erro.

    Quando essa opção é selecionada, um nível adicional é criado para cada coluna categórica. Todos os níveis no conjuntos de dados de teste não presentes no conjuntos de dados de treinamento são mapeados para esse nível adicional.

  12. Adicione um conjuntos de dados rotulado e um dos módulos de treinamento.

    Se você não estiver usando uma varredura de parâmetro, use o módulo Treinar Modelo.

    Para que o algoritmo encontre os melhores parâmetros para você, treine o modelo usando Ajustar Hiperparérmetros de Modelo.

    Observação

    Se você configurar o modelo com valores específicos usando a opção Parâmetro Único e, em seguida, alternar para a opção Intervalo de Parâmetros, o modelo será treinado usando o valor mínimo no intervalo para cada parâmetro.

    Por outro lado, se você definir configurações específicas ao criar o modelo, mas selecionar a opção Intervalo de Parâmetros, o modelo será treinado usando os valores padrão para o aluno como o intervalo de valores a ser varoado.

  13. Execute o experimento.

Resultados para a gradiente descendente online

Após a conclusão do treinamento:

  • Para fazer previsões, conecte o modelo treinado ao módulo Modelo de Pontuação, junto com os novos dados de entrada.
  • Para executar a validação cruzada em um conjunto de dados rotulado, conecte o modelo não treinado ao Modelo de Validação Cruzada.

Exemplos

Para exemplos de modelos de regressão, consulte estes experimentos de exemplo no 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

Muitas ferramentas de criação de suporte de regressão linear alcançam do simples a complexo. Por exemplo, você pode executar facilmente a regressão linear no Excel, usando o Solver Toolpak ou pode codificar seu próprio algoritmo de regressão usando R, Python ou C#.

No entanto, como a regressão linear é uma técnica bem estabelecida com suporte de muitas ferramentas diferentes, há muitas interpretações e implementações diferentes. Nem todos os tipos de modelos são suportados igualmente por todas as ferramentas. Também há algumas diferenças na nomenclatura a observar.

  • Métodos de regressão geralmente são categorizados pelo número de variáveis de resposta. Por exemplo, a regressão linear múltipla significa um modelo que tem diversas variáveis para prever.

  • No Matlab, a regressão multivariada se refere a um modelo que tem diversas variáveis de resposta.

  • No Machine Learning, os modelos de regressão suportam uma única variável de resposta.

  • Na linguagem R, os recursos fornecidos para regressão linear dependem do pacote que você está usando. Por exemplo, o pacote glm lhe dará a capacidade de criar um modelo de regressão logística com várias variáveis independentes. Em geral, Machine Learning Studio (clássico) fornece a mesma funcionalidade que o pacote glm do R.

Recomendamos que você use este módulo Regressão Linear para problemas de regressão típicos.

Por outro lado, se você estiver usando várias variáveis para prever um valor de classe, recomendamos os módulos Regressão Logística de Duas Classes ou Regressão Logística Multiclasse.

Se você quiser usar outros pacotes de regressão linear disponíveis para a linguagem R, recomendamos usar o módulo Executar Script R e chamar os pacotes lm ou glm, que estão incluídos no ambiente de runtime do Machine Learning Studio (clássico).

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Normalizar recursos any Boolean true Indica se as instâncias devem ser normalizadas
Hipótese final da média any Boolean true Indique se a hipótese final deve ser calculada pela média
Taxa de aprendizado >=double.Epsilon Float 0,1 Especificar a taxa de aprendizagem inicial para o otimizador de deslocamento descendente do gradiente estocástico
Número de épocas de treinamento >=0 Integer 10 Especifique quantas vezes o algoritmo deve iterar por meio de exemplos. Para conjuntos de dados com um pequeno número de exemplos, esse número deverá ser grande para alcançar convergência.
Diminuir a taxa de aprendizagem Qualquer Boolean true Indique se a taxa de aprendizagem deve diminuir à medida que as iterações progridem
Peso da regularização L2 >=0,0 Float 0,001 Especifica o peso para regularização L2. Use um valor diferente de zero para evitar o sobreajuste.
Propagação de número aleatório any Inteiro Especifique um valor para propagar o gerador de número aleatório usado pelo modelo. Deixe em branco por padrão.
Permitir níveis categóricos desconhecidos any Boolean true Indique se um nível adicional deve ser criado para cada coluna categórica. Todos os níveis no conjunto de dados de teste não disponíveis no conjunto de dados de treinamento são mapeados para esse nível adicional.
Incluir o termo de interceptação Qualquer Booliano verdadeiro Indicar se um termo adicional deve ser adicionado à interceptação

Saídas

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

Confira também

Regressão