Como implementar regressão linear para aprendizado de máquina?



Este artigo cobre o conceito de regressão linear para aprendizado de máquina com várias terminologias e um caso de uso para implementar a regressão linear.

O foco de gira em torno das variáveis ​​de entrada e saída usando um algoritmo para prever o resultado. Se uma nova variável de entrada entrar em cena. O algoritmo de regressão linear em é uma técnica de aprendizado supervisionado para aproximar a função de mapeamento para obter as melhores previsões. Neste artigo, aprenderemos sobre regressão linear para aprendizado de máquina. Os seguintes tópicos são discutidos neste blog.

O que é regressão?

O objetivo principal da regressão é a construção de um modelo eficiente para prever os atributos dependentes de um conjunto de variáveis ​​de atributos. Um problema de regressão é quando a variável de saída é real ou um valor contínuo, ou seja, salário, peso, área, etc.





Também podemos definir regressão como um meio estatístico que é usado em aplicações como habitação, investimento, etc. É usado para prever a relação entre uma variável dependente e um grupo de variáveis ​​independentes. Vamos dar uma olhada em vários tipos de técnicas de regressão.

exemplo de regressão linear em aprendizado de máquina - edureka

Tipos de regressão

A seguir estão os tipos de regressão.



  1. Regressão Linear Simples
  2. Regressão Polinomial
  3. Suportar regressão vetorial
  4. Regressão da árvore de decisão
  5. Regressão Florestal Aleatória

Regressão Linear Simples

Uma das técnicas de regressão mais interessantes e comuns é a regressão linear simples. Neste, prevemos o resultado de uma variável dependente com base nas variáveis ​​independentes, a relação entre as variáveis ​​é linear. Daí a palavra regressão linear.

Regressão Polinomial

Nessa técnica de regressão, transformamos os recursos originais em recursos polinomiais de um determinado grau e, em seguida, realizamos a regressão sobre eles.

Suportar Regressão de Vetor

Para regressão ou SVR, identificamos um hiperplano com margem máxima de modo que o número máximo de pontos de dados esteja dentro dessas margens. É bastante semelhante ao algoritmo de classificação de máquina de vetor de suporte.



Regressão da árvore de decisão

PARA pode ser usado para regressão e . No caso de regressão, usamos o algoritmo ID3 (Dicotomizador Iterativo 3) para identificar o nó de divisão, reduzindo o desvio padrão.

Regressão Florestal Aleatória

Na regressão de floresta aleatória, reunimos as previsões de várias regressões de árvore de decisão. Agora que sabemos sobre os diferentes tipos de regressão, vamos dar uma olhada na regressão linear simples em detalhes.

O que é regressão linear?

A regressão linear simples é uma técnica de regressão na qual a variável independente tem uma relação linear com a variável dependente. A linha reta no diagrama é a linha de melhor ajuste. O principal objetivo da regressão linear simples é considerar os pontos de dados fornecidos e traçar a melhor linha de ajuste para ajustar o modelo da melhor maneira possível.

Antes de passarmos para como funciona o algoritmo de regressão linear, vamos dar uma olhada em algumas terminologias importantes na regressão linear simples.

Terminologias de regressão linear

É importante estar familiarizado com as seguintes terminologias antes de passar para o algoritmo de regressão linear.

como usar a classe scanner

Função de Custo

A linha de melhor ajuste pode ser baseada na equação linear fornecida abaixo.

  • A variável dependente que deve ser prevista é denotada por Y.
  • Uma linha que toca o eixo y é denotada pela interceptação b0.
  • b1é a inclinação da linha, x representa as variáveis ​​independentes que determinam a previsão de Y.
  • O erro na previsão resultante é denotado por e.

A função de custo fornece os melhores valores possíveis para b0e B1para fazer a linha de melhor ajuste para os pontos de dados. Fazemos isso convertendo este problema em um problema de minimização para obter os melhores valores para b0e B1. O erro é minimizado neste problema entre o valor real e o valor previsto.

Escolhemos a função acima para minimizar o erro. Nós elevamos ao quadrado a diferença do erro e somamos o erro de todos os pontos de dados, a divisão entre o número total de pontos de dados. Em seguida, o valor produzido fornece o erro quadrático médio sobre todos os pontos de dados.

É também conhecido como MSE (Mean Squared Error), e alteramos os valores de b0e B1de modo que o valor do MSE seja liquidado no mínimo.

Gradiente descendente

A próxima terminologia importante para entender a regressão linear é Gradiente descendente. É um método de atualização b0e B1valores para reduzir o MSE. A ideia por trás disso é manter a iteração de b0e B1valores até reduzirmos o MSE ao mínimo.

Para atualizar b0e B1, pegamos gradientes da função de custo. Para encontrar esses gradientes, tomamos derivadas parciais em relação a b0e B1. Essas derivadas parciais são os gradientes e são usadas para atualizar os valores de b0e B1.

Uma taxa de aprendizagem menor chega mais perto do mínimo, mas leva mais tempo e no caso de uma taxa de aprendizagem maior. O tempo necessário é menor, mas há uma chance de ultrapassar o valor mínimo. Agora que terminamos com as terminologias da regressão linear, vamos dar uma olhada em algumas vantagens e desvantagens da regressão linear para aprendizado de máquina.

Vantagens e desvantagens

Vantagens Desvantagens
A regressão linear funciona excepcionalmente bem para dados linearmente separáveisA suposição de linearidade entre as variáveis ​​dependentes e independentes
Mais fácil de implementar, interpretar e eficiente para treinarMuitas vezes é muito sujeito a ruído e sobreajuste
Ele lida muito bem com o sobreajuste usando técnicas de redução dimensional, regularização e validação cruzadaA regressão linear é bastante sensível a outliers
Mais uma vantagem é a extrapolação além de um conjunto de dados específicoÉ propenso a multicolinearidade

Casos de uso de regressão linear

  • Previsão de vendas

  • Análise de risco

  • Aplicativos de habitação para prever os preços e outros fatores

    ordenando matrizes c ++
  • Aplicativos de finanças para prever preços de ações, avaliação de investimentos, etc.

A ideia básica por trás da regressão linear é encontrar a relação entre as variáveis ​​dependentes e independentes. É usado para obter a linha de melhor ajuste que preveria o resultado com o menor erro. Podemos usar a regressão linear em situações simples da vida real, como prever as pontuações do SAT em relação ao número de horas de estudo e outros fatores decisivos.

Com isso em mente, vamos dar uma olhada em um caso de uso.

Caso de uso - Implementando Regressão Linear

O processo ocorre nas seguintes etapas:

  1. Carregando os dados
  2. Explorando os dados
  3. Cortando os dados
  4. Treinar e dividir dados
  5. Gere o modelo
  6. Avalie a precisão

Vamos entrar nos detalhes de cada uma das etapas para implementar a regressão linear.

1. Carregando os dados

Podemos começar com o conjunto de dados básicos de diabetes que já está presente no módulo de conjuntos de dados sklearn (scikit-learn) para iniciar nossa jornada com regressão linear.

de sklearn import datasets disease = datasets.load_diabetes () print (disease)

Resultado:

2. Explorando os dados

Depois de carregar os dados, podemos começar a explorar simplesmente verificando os rótulos usando o código a seguir.

imprimir (doenças.chaves ())

Resultado:

O código acima fornece todos os rótulos do conjunto de dados, depois disso, podemos fatiar os dados para que possamos plotar a linha no final. Também usaremos todos os pontos de dados, por enquanto, dividiremos a coluna 2 dos dados.

importar numpy como np disease_X = disease.data [:, np.newaxis, 2] print (disease_X)

Resultado:

Após esta etapa, dividiremos os dados em conjunto de treinamento e teste.

converter binário para int java

3. Dividindo os dados

disease_X_train = disease_X [: - 30] disease_X_test = disease_X [-20:] disease_Y_train = disease.target [: - 30] disease_Y_test = disease.target [-20:]

A próxima parte envolve a geração do modelo, que incluirá a importação de linear_model do sklearn.

4. Gerando o modelo

from sklearn import linear_model reg = linear_model.LinearRegression () reg.fit (disease_X_train, disease_Y_train) y_predict = reg.predict (disease_X_test)

Para avaliar a precisão do modelo, usaremos o erro quadrático médio do scikit-learn.

5. Avaliação

precisão = erro_média_quadrada (doença_Y_teste, previsão_y,) imprimir (precisão) pesos = reg.coef_ interceptar = reg.intercept_ imprimir (pesos, interceptar)

Resultado:

Para ser mais claro sobre a aparência dos pontos de dados no gráfico, vamos traçar os gráficos também.

import matplotlib.pyplot as plt plt.scatter (disease_X_test, disease_Y_test) plt.plot (disease_X_test, y_predict) plt.show ()

Resultado:

Para obter um modelo mais preciso neste cenário, podemos usar todos os dados em vez de apenas a coluna 2. Isso daria uma precisão conforme mostrado abaixo:

#faça uma pequena mudança no código acima e remova o código de plotagem para evitar erros disease_X = disease.data

Resultado:

Isso nos leva ao final deste artigo, onde aprendemos sobre regressão linear para aprendizado de máquina. Espero que você tenha esclarecido tudo o que foi compartilhado com você neste tutorial.

Se você achou este artigo sobre 'Regressão Linear para Aprendizado de Máquina' relevante, verifique o uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Se você tiver alguma dúvida, fique à vontade para fazer todas as suas perguntas na seção de comentários de “Regressão Linear para Aprendizado de Máquina” e nossa equipe terá prazer em responder.