sklearn.linear_model
.LinearRegression¶
- class sklearn.linear_model.LinearRegression¶
Regresión lineal por mínimos cuadrados ordinarios (ordinary least squares Linear Regression).
LinearRegression ajusta un modelo lineal con coeficientes w = (w1, …, wp) para minimizar la suma de cuadrados residual entre los objetivos observados en el conjunto de datos y los objetivos predichos por la aproximación lineal.
- Parámetros
- fit_interceptbool, default=True
Si se calcula el intercepto para este modelo. Si se establece en False, no se utilizará ningún intercepto en los cálculos (es decir, se espera que los datos estén centrados).
- normalizebool, default=False
Este parámetro se ignora cuando
fit_intercept
se establece en False. Si es True, los regresores X serán normalizados antes de la regresión restando la media y dividiendo entre la norma l2. Si deseas normalizar, por favor utilizaStandardScaler
antes de llamar afit
en un estimador connormalize=False
.- copy_Xbool, default=True
Si es True, X se copiará; si no, puede ser sobrescrita.
- n_jobsint, default=None
El número de trabajos a utilizar para el cálculo. Esto sólo proporcionará un aumento de velocidad para n_targets > 1 y problemas suficientemente grandes.
None
significa 1 a menos que esté en un contextojoblib.parallel_backend
.-1
significa usar todos los procesadores. Ver Glosario para más detalles.- positivebool, default=False
Cuando se establece en
True
, obliga a que los coeficientes sean positivos. Esta opción sólo está soportada para arreglos densos.Nuevo en la versión 0.24.
- Atributos
- coef_arreglo de forma (n_features, ) o (n_targets, n_features)
Coeficientes estimados para el problema de regresión lineal. Si se pasan varios objetivos durante el ajuste (y 2D), se trata de un arreglo 2D de forma (n_targets, n_features), mientras que si sólo se pasa un objetivo, se trata de un arreglo 1D de longitud n_features.
- rank_int
Rango de la matriz
X
. Sólo está disponible cuandoX
es densa.- singular_arreglo de forma (min(X, y),)
Valores singulares de
X
. Sólo está disponible cuandoX
es densa.- intercept_float o arreglo de forma (n_targets,)
Término independiente en el modelo lineal. Se establece en 0.0 si
fit_intercept = False
.
Ver también
Ridge
La regresión Ridge aborda algunos de los problemas de los Mínimos Cuadrados Ordinarios imponiendo una penalización al tamaño de los coeficientes con la regularización l2.
Lasso
El Lasso es un modelo lineal que estima coeficientes dispersos con regularización l1.
ElasticNet
Elastic-Net es un modelo de regresión lineal entrenado con la regularización de la norma l1 y l2 de los coeficientes.
Notas
Desde el punto de vista de la implementación, esto es simplemente Mínimos Cuadrados Ordinarios (scipy.linalg.lstsq) o Mínimos Cuadrados No Negativos (scipy.optimize.nnls) envueltos (wrapped) como un objeto predictor.
Ejemplos
>>> import numpy as np >>> from sklearn.linear_model import LinearRegression >>> X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]]) >>> # y = 1 * x_0 + 2 * x_1 + 3 >>> y = np.dot(X, np.array([1, 2])) + 3 >>> reg = LinearRegression().fit(X, y) >>> reg.score(X, y) 1.0 >>> reg.coef_ array([1., 2.]) >>> reg.intercept_ 3.0000... >>> reg.predict(np.array([[3, 5]])) array([16.])
Métodos
Ajusta el modelo lineal.
Obtiene los parámetros para este estimador.
Predice utilizando el modelo lineal.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
- fit()¶
Ajusta el modelo lineal.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Datos de entrenamiento
- yarray-like de forma (n_samples,) o (n_samples, n_targets)
Valores objetivo. Se convertirá en el dtype de X si es necesario
- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones individuales para cada muestra
Nuevo en la versión 0.17: parámetro sample_weight da soporte a LinearRegression.
- Devuelve
- selfdevuelve una instancia de self.
- get_params()¶
Obtiene los parámetros para este estimador.
- Parámetros
- deepbool, default=True
Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- predict()¶
Predice utilizando el modelo lineal.
- Parámetros
- Xarray-like o matriz dispersa, forma (n_samples, n_features)
Muestras.
- Devuelve
- Carreglo, forma (n_samples,)
Devuelve los valores predichos.
- score()¶
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
El coeficiente \(R^2\) se define como \((1 - \frac{u}{v})\), donde \(u\) es la suma de cuadrados residual
((y_true - y_pred) ** 2).sum()
y \(v\) es la suma total de cuadrados((y_true - y_true.mean()) ** 2).sum()
. La mejor puntuación posible es 1.0 y puede ser negativa (porque el modelo puede ser arbitrariamente peor). Un modelo constante que siempre predice el valor esperado dey
, sin tener en cuenta las características de entrada, obtendría una puntuación \(R^2\) de 0.0.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de prueba. Para algunos estimadores puede ser una matriz de núcleo precalculada o una lista de objetos genéricos con forma
(n_samples, n_samples_fitted)
, donden_samples_fitted
es el número de muestras utilizadas en el ajuste para el estimador.- yarray-like de forma (n_samples,) o (n_samples, n_outputs)
Valores verdaderos para
X
.- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de muestras.
- Devuelve
- scorefloat
\(R^2\) de
self.predict(X)
con respecto ay
.
Notas
La puntuación \(R^2\) utilizada al llamar a
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantener la consistencia con el valor predeterminado der2_score
. Esto influye en el métodoscore
de todos los regresores de salida múltiple (excepto paraMultiOutputRegressor
).
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto en estimadores simples como en objetos anidados (como
Pipeline
). Estos últimos tienen parámetros de la forma<component>__<parameter>
para que sea posible actualizar cada componente de un objeto anidado.- Parámetros
- **paramsdict
Parámetros del estimador.
- Devuelve
- selfinstancia del estimador
Instancia del estimador.