Scikit Learn - Regresión lineal

Es uno de los mejores modelos estadísticos que estudia la relación entre una variable dependiente (Y) con un conjunto dado de variables independientes (X). La relación se puede establecer con la ayuda de ajustar la mejor línea.

sklearn.linear_model.LinearRegression es el módulo utilizado para implementar la regresión lineal.

Parámetros

La siguiente tabla consta de los parámetros utilizados por Linear Regression módulo -

No Señor Descripción de parámetros
1

fit_intercept - Booleano, opcional, predeterminado True

Se utiliza para calcular la intersección del modelo. No se utilizará ninguna intersección en el cálculo si se establece en falso.

2

normalize - Booleano, opcional, predeterminado Falso

Si este parámetro se establece en Verdadero, el regresor X se normalizará antes de la regresión. La normalización se realizará restando la media y dividiéndola por la norma L2. Si fit_intercept = False, este parámetro se ignorará.

3

copy_X - Booleano, opcional, predeterminado True

De forma predeterminada, es verdadero, lo que significa que se copiará X. Pero si se establece en falso, X puede sobrescribirse.

4

n_jobs - int o None, opcional (predeterminado = None)

Representa el número de trabajos que se utilizarán para el cálculo.

Atributos

La siguiente tabla consta de los atributos utilizados por Linear Regression módulo -

No Señor Atributos y descripción
1

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

Se utiliza para estimar los coeficientes del problema de regresión lineal. Sería una matriz de formas 2D (n_targets, n_features) si se pasan varios objetivos durante el ajuste. Ex. (y 2D). Por otro lado, sería una matriz 1D de longitud (n_features) si solo se pasa un objetivo durante el ajuste.

2

Intercept_ - matriz

Este es un término independiente en este modelo lineal.

Ejemplo de implementación

Primero, importe los paquetes necesarios:

import numpy as np
from sklearn.linear_model import LinearRegression

Ahora, proporcione los valores de la variable independiente X -

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

A continuación, el valor de la variable dependiente y se puede calcular de la siguiente manera:

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

Ahora, cree un objeto de regresión lineal de la siguiente manera:

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

Use el método predict () para predecir usando este modelo lineal de la siguiente manera:

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

Salida

array([16.])

Ejemplo

Para obtener el coeficiente de determinación de la predicción, podemos usar el método Score () de la siguiente manera:

regr.score(X,y)

Salida

1.0

Ejemplo

Podemos estimar los coeficientes usando el atributo llamado 'coef' de la siguiente manera:

regr.coef_

Salida

array([1., 2.])

Ejemplo

Podemos calcular la intersección, es decir, el valor medio esperado de Y cuando todo X = 0 usando el atributo llamado 'intersección' de la siguiente manera:

In [24]: regr.intercept_
Output
3.0000000000000018

Ejemplo de código de implementación completo

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_