sklearn.linear_model.Ridge

class sklearn.linear_model.Ridge

Mínimos cuadrados lineales con regularización l2.

Minimiza la función objetivo:

||y - Xw||^2_2 + alpha * ||w||^2_2

Este modelo resuelve un modelo de regresión donde la función de pérdida es la función lineal de mínimos cuadrados y la regularización viene dada por la norma l2. También se conoce como regresión de cresta (Ridge Regression) o regularización Tikhonov. Este estimador tiene soporte incorporado para la regresión multivariada (es decir, cuando y es un arreglo de formato 2d (n_samples, n_targets)).

Más información en el Manual de usuario.

Parámetros
alpha{float, ndarray of shape (n_targets,)}, default=1.0

Fuerza de regularización; debe ser un flotante positivo. La regularización mejora el condicionamiento del problema y reduce la varianza de las estimaciones. Los valores más grandes especifican una regularización más fuerte. Alpha corresponde a 1 / (2C) en otros modelos lineales como LogisticRegression o LinearSVC. Si se pasa un arreglo, se asume que las penalizaciones son específicas de los objetivos. Por lo tanto, deben corresponder en número.

fit_interceptbool, default=True

Indica si se ajusta 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 X y y estén centrados).

normalizebool, default=False

Este parámetro es ignorado cuando fit_intercept se establece como False. Si True, los regresores X serán normalizados antes de la regresión restando la media y dividiendo por la norma l2. Si tu deseas estandarizar, por favor utiliza StandardScaler antes de llamar fit en un estimador con normalize=False.

copy_Xbool, default=True

Si es True, X se copiará; si no, puede ser sobrescrito.

max_iterint, default=None

Número máximo de iteraciones para el solucionador de gradiente conjugado. Para los solucionadores “sparse_cg” y “lsqr”, el valor predeterminado está determinado por scipy.sparse.linalg. Para los solucionadores “sag”, el valor por defecto es 1000.

tolfloat, default=1e-3

Precisión de la solución.

solver{“auto”, “svd”, “cholesky”, “lsqr”, “sparse_cg”, “sag”, “saga”}, default=”auto”

Solucionador a utilizar en las rutinas computacionales:

  • “auto” elige el solucionador automáticamente en función del tipo de datos.

  • svd” utiliza una descomposición de valor singular de X para calcular los coeficientes de Ridge. Es más estable para matrices singulares que “cholesky”.

  • “cholesky” utiliza la función estándar scipy.linalg.solve para obtener una solución de forma cerrada.

  • “sparse_cg” utiliza el solucionador de gradiente conjugado que se encuentra en scipy.sparse.linalg.cg. Como algoritmo iterativo, este solucionador es más apropiado que “cholesky” para datos a gran escala (posibilidad de establecer tol y max_iter).

  • “lsqr” utiliza la rutina dedicada de mínimos cuadrados regularizados scipy.sparse.linalg.lsqr. Es la más rápida y utiliza un procedimiento iterativo.

  • “sag” utiliza un descenso de gradiente medio estocástico, y “saga” utiliza su versión mejorada e insesgada denominada SAGA. Ambos métodos también utilizan un procedimiento iterativo, y suelen ser más rápidos que otros solucionadores cuando tanto n_samples como n_features son grandes. Ten en cuenta que la convergencia rápida de “sag” y “saga” sólo está garantizada en características con aproximadamente la misma escala. Puedes preprocesar los datos con un escalador de sklearn.preprocessing.

Los últimos cinco solucionadores admiten datos densos y dispersos. Sin embargo, sólo “sag” y “sparse_cg” admiten datos dispersos cuando fit_intercept es True.

Nuevo en la versión 0.17: Solucionador de descenso de gradiente medio estocástico.

Nuevo en la versión 0.19: Solucionador SAGA.

random_stateentero, instancia de RandomState, default=None

Se utiliza cuando solver == “sag” o “saga” para barajar al azar los datos. Consulta Glosario para más detalles.

Nuevo en la versión 0.17: random_state para soportar el Gradiente Medio Estocástico (Stochastic Average Gradient).

Atributos
coef_ndarray de forma (n_features,) o (n_targets, n_features)

Vector(es) de ponderación.

intercept_float o ndarray de forma (n_targets,)

Término independiente en la función de decisión. Establecido como 0.0 si fit_intercept = False.

n_iter_None o ndarray de forma (n_targets,)

Número real de iteraciones para cada objetivo. Disponible sólo para los solucionadores sag y lsqr. Otros solucionadores devolverán None.

Nuevo en la versión 0.17.

Ver también

RidgeClassifier

Clasificador de crestas (Ridge classifier).

RidgeCV

Regresión de cresta con validación cruzada incorporada.

KernelRidge

La regresión de crestas del núcleo combina la regresión de crestas con el truco del núcleo.

Ejemplos

>>> from sklearn.linear_model import Ridge
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> clf = Ridge(alpha=1.0)
>>> clf.fit(X, y)
Ridge()

Métodos

fit

Ajusta al modelo de regresión de Ridge.

get_params

Obtiene los parámetros para este estimador.

predict

Predice utilizando el modelo lineal.

score

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

set_params

Establece los parámetros de este estimador.

fit()

Ajusta al modelo de regresión de Ridge.

Parámetros
X{ndarray, sparse matrix} de forma (n_samples, n_features)

Datos del entrenamiento

yndarray de forma (n_samples,) o (n_samples, n_outputs)

Valores objetivo

sample_weightfloat o ndarray de forma (n_samples,), default=None

Ponderación individual para cada muestra. Si se le da un flotante (float), cada muestra tendrá el mismo peso.

Devuelve
selfdevuelve una instancia de sí misma.
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, de 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 de los residuos ((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 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), donde n_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 la muestra.

Devuelve
scorefloat

\(R^2\) de self.predict(X) con respecto a y.

Notas

La puntuación \(R^2\) utilizada al invocar a score en un regresor utiliza multioutput='uniform_average' desde la versión 0.23 para mantener la consistencia con el valor predeterminado de r2_score. Esto influye en el método score de todos los regresores de salida múltiple (excepto para MultiOutputRegressor).

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con 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 de estimador.

Ejemplos usando sklearn.linear_model.Ridge