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_