class sklearn.linear_model.LinearRegression(*, fit_intercept=True, normalize=False, copy_X=True, n_jobs=None, positive=False) [source]

Regresión lineal por mínimos cuadrados ordinarios.

LinearRegression se ajusta a un modelo lineal con coeficientes w = (w1,…, wp) para minimizar la suma residual de cuadrados entre los objetivos observados en el conjunto de datos y los objetivos predichos por la aproximación lineal.

Parámetros
fit_interceptbool, default=True

Ya sea para calcular la intersección para este modelo. Si se establece en False, no se utilizará ninguna intersección 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 está establecido en False. Si es verdadero, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2. Si desea estandarizar, utilice StandardScaler antes de llamar fit en un estimador con normalize=False.

copy_Xbool, default=True

Si es Verdadero, se copiará X; de lo contrario, puede sobrescribirse.

n_jobsint, default=None

El número de trabajos que se utilizarán para el cálculo. Esto solo proporcionará una aceleración para n_targets> 1 y suficientes problemas grandes. None significa 1 a menos que en un joblib.parallel_backend contexto. -1 significa utilizar todos los procesadores. Ver Glosario para más detalles.

positivebool, default=False

Cuando se establece en True, obliga a los coeficientes a ser positivos. Esta opción solo es compatible con matrices densas.

Nuevo en la versión 0.24.

Atributos
coef_array of shape (n_features, ) or (n_targets, n_features)

Coeficientes estimados para el problema de regresión lineal. Si se pasan varios objetivos durante el ajuste (y 2D), esta es una matriz de formas 2D (n_targets, n_features), mientras que si solo se pasa un objetivo, esta es una matriz 1D de longitud n_features.

rank_int

Rango de matriz X. Solo disponible cuando X es denso.

singular_array of shape (min(X, y),)

Valores singulares de X. Solo disponible cuando X es denso.

intercept_float or array of shape (n_targets,)

Término independiente en el modelo lineal. Establecer en 0.0 si fit_intercept = False.

Ver también

Ridge

La regresión de crestas aborda algunos de los problemas de mínimos cuadrados ordinarios al imponer una penalización sobre el tamaño de los coeficientes con regularización l2.

Lasso

El Lasso es un modelo lineal que estima coeficientes escasos con regularización l1.

ElasticNet

Elastic-Net es un modelo de regresión lineal entrenado con regularización normal de los coeficientes tanto en l1 como en l2.

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 como un objeto predictor.

Ejemplos de

>>> 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

fit(X, y[, sample_weight])

Ajustar modelo lineal.

get_params([deep])

Obtenga parámetros para este estimador.

predict(X)

Predecir usando el modelo lineal.

score(X, y[, sample_weight])

Devuelve el coeficiente de determinación (R ^ 2 ) de la predicción.

set_params(** parámetros)

Establezca los parámetros de este estimador.

fit(X, y, sample_weight=None) [source]

Ajustar modelo lineal.

Parámetros
X{array-like, sparse matrix} of shape (n_samples, n_features)

Datos de entrenamiento

yarray-like of shape (n_samples,) or (n_samples, n_targets)

Valores objetivo. Se convertirá en dtype de X si es necesario

sample_weightarray-like of shape (n_samples,), default=None

Pesos individuales para cada muestra

Nuevo en la versión 0.17: parámetro peso_muestra soporte para LinearRegression.

Devoluciones
selfreturns an instance of self.
get_params(deep=True) [source]

Obtenga 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.

Devoluciones
paramsdict

Nombres de parámetros asignados a sus valores.

predict(X) [source]

Predecir usando el modelo lineal.

Parámetros
Xarray-like or sparse matrix, shape (n_samples, n_features)

Muestras.

Devoluciones
Carray, shape (n_samples,)

Devuelve valores predichos.

score(X, y, sample_weight=None) [source]

Devuelve el coeficiente de determinación (R ^ 2 ) de la predicción.

El coeficiente (R ^ 2 ) Se define como ((1 – frac {u} {v}) ), dónde (u ) es la suma residual de cuadrados ((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 de y, sin tener en cuenta las funciones de entrada, obtendría un (R ^ 2 ) puntuación de 0,0.

Parámetros
Xarray-like of shape (n_samples, n_features)

Muestras de prueba. Para algunos estimadores, esto puede ser una matriz de kernel precalculada o una lista de objetos genéricos en su lugar con forma (n_samples, n_samples_fitted), dónde n_samples_fitted es el número de muestras utilizadas en el ajuste del estimador.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

Valores verdaderos para X.

sample_weightarray-like of shape (n_samples,), default=None

Pesos de muestra.

Devoluciones
scorefloat

(R ^ 2 ) de self.predict(X) wrt. y.

Notas

los (R ^ 2 ) puntuación utilizada al llamar score en un regresor usa multioutput="uniform_average" desde la versión 0.23 para mantener la coherencia con el valor predeterminado de r2_score. Esto influye en la score método de todos los regresores de salida múltiple (excepto para MultiOutputRegressor).

set_params(**params) [source]

Establezca 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.

Devoluciones
selfestimator instance

Instancia de estimador.

Ejemplos usando sklearn.linear_model.LinearRegression

Regresión de componentes principales vs regresión de mínimos cuadrados parciales

Regresión de componentes principales vs regresión de mínimos cuadrados parciales

Trazar predicciones de regresión individual y de votación

Trazar predicciones de regresión individual y de votación

Mínimos cuadrados ordinarios y varianza de regresión de crestas

Mínimos cuadrados ordinarios y varianza de regresión de crestas

Función logística

Función logística

Mínimos cuadrados no negativos

Mínimos cuadrados no negativos

Ejemplo de regresión lineal

Ejemplo de regresión lineal

Estimación robusta de modelos lineales usando RANSAC

Estimación robusta de modelos lineales usando RANSAC

Ejemplo de dispersión: ajuste solo de las características 1 y 2

Ejemplo de dispersión: ajuste solo de las características 1 y 2

Regresión de Theil-Sen

Regresión de Theil-Sen

Ajuste robusto del estimador lineal

Ajuste robusto del estimador lineal

Regresión automática de determinación de relevancia (ARD)

Regresión automática de determinación de relevancia (ARD)

Regresión de la cresta bayesiana

Regresión de la cresta bayesiana

Regresión isotónica

Regresión isotónica

Finalización facial con estimadores de salida múltiple

Finalización facial con estimadores de salida múltiple

Trazar predicciones con validación cruzada

Trazar predicciones con validación cruzada

Ajuste insuficiente frente a ajuste excesivo

Ajuste insuficiente frente a ajuste excesivo

Uso de KBinsDiscretizer para discretizar características continuas

Uso de KBinsDiscretizer para discretizar características continuas