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_