Scikit Learn - Regressão Linear

É um dos melhores modelos estatísticos que estuda a relação entre uma variável dependente (Y) com um determinado conjunto de variáveis ​​independentes (X). A relação pode ser estabelecida com a ajuda do ajuste da melhor linha.

sklearn.linear_model.LinearRegression é o módulo usado para implementar a regressão linear.

Parâmetros

A tabela a seguir consiste nos parâmetros usados ​​por Linear Regression módulo -

Sr. Não Parâmetro e Descrição
1

fit_intercept - Booleano, opcional, verdadeiro padrão

Usado para calcular a interceptação do modelo. Nenhuma interceptação será usada no cálculo se for definido como falso.

2

normalize - Booleano, opcional, padrão False

Se este parâmetro for definido como True, o regressor X será normalizado antes da regressão. A normalização será feita subtraindo a média e dividindo pela norma L2. Se fit_intercept = False, este parâmetro será ignorado.

3

copy_X - Booleano, opcional, verdadeiro padrão

Por padrão, é verdade, o que significa que X será copiado. Mas se for definido como falso, X pode ser substituído.

4

n_jobs - int ou nenhum, opcional (padrão = nenhum)

Ele representa o número de trabalhos a serem usados ​​para o cálculo.

Atributos

A tabela a seguir consiste nos atributos usados ​​por Linear Regression módulo -

Sr. Não Atributos e descrição
1

coef_ - matriz, forma (n_features,) ou (n_targets, n_features)

É usado para estimar os coeficientes para o problema de regressão linear. Seria uma matriz 2D de forma (n_targets, n_features) se vários alvos fossem passados ​​durante o ajuste. Ex. (y 2D). Por outro lado, seria uma matriz 1D de comprimento (n_features) se apenas um alvo fosse passado durante o ajuste.

2

Intercept_ - array

Este é um termo independente neste modelo linear.

Exemplo de Implementação

Primeiro, importe os pacotes necessários -

import numpy as np
from sklearn.linear_model import LinearRegression

Agora, forneça os valores para a variável independente X -

X = np.array([[1,1],[1,2],[2,2],[2,3]])

Em seguida, o valor da variável dependente y pode ser calculado da seguinte forma -

y = np.dot(X, np.array([1,2])) + 3

Agora, crie um objeto de regressão linear da seguinte maneira -

regr = LinearRegression(
   fit_intercept = True, normalize = True, copy_X = True, n_jobs = 2
)
.fit(X,y)

Use o método predict () para prever usando este modelo linear da seguinte forma -

regr.predict(np.array([[3,5]]))

Resultado

array([16.])

Exemplo

Para obter o coeficiente de determinação da previsão, podemos usar o método Score () da seguinte forma -

regr.score(X,y)

Resultado

1.0

Exemplo

Podemos estimar os coeficientes usando o atributo denominado 'coef' da seguinte forma -

regr.coef_

Resultado

array([1., 2.])

Exemplo

Podemos calcular a interceptação, ou seja, o valor médio esperado de Y quando todos X = 0 usando o atributo denominado 'interceptar' como segue -

In [24]: regr.intercept_
Output
3.0000000000000018

Código completo de exemplo de implementação

import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array([[1,1],[1,2],[2,2],[2,3]])
y = np.dot(X, np.array([1,2])) + 3
regr = LinearRegression(
   fit_intercept = True, normalize = True, copy_X = True, n_jobs = 2
).fit(X,y)
regr.predict(np.array([[3,5]]))
regr.score(X,y)
regr.coef_
regr.intercept_