sklearn.linear_model.ridge_regression

sklearn.linear_model.ridge_regression()

Resuelve la ecuación de la cresta por el método de las ecuaciones normales.

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

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

Datos del entrenamiento

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

Valores objetivo

alphafloat o array-like de forma (n_targets,)

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.

sample_weightflotante o array-like de forma (n_samples,), default=None

Ponderación individual para cada muestra. Si se le da un flotante, cada muestra tendrá el mismo ponderado. Si sample_weight no es None y solver=”auto”, el solver se ajustará a “cholesky”.

Nuevo en la versión 0.17.

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 mediante una descomposición de Cholesky de dot(X.T, X)

  • “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. Nota 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.

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” y saga, el valor por defecto es 1000.

tolfloat, default=1e-3

Precisión de la solución.

verboseint, default=0

Nivel de verbosidad. Si se establece un nivel de verbosidad > 0, se mostrará información adicional en función del solucionador utilizado.

random_stateentero, instancia de RandomState, default=None

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

return_n_iterbool, default=False

Si es True, el método también devuelve n_iter, el número real de iteraciones realizadas por el solucionador.

Nuevo en la versión 0.17.

return_interceptbool, default=False

Si es True y si X es disperso, el método también devuelve el intercepto, y el solucionador se cambia automáticamente a “sag”. Esto es sólo una solución temporal para ajustar el intercepto con datos dispersos. Para datos densos, utilice sklearn.linear_model._preprocess_data antes de su regresión.

Nuevo en la versión 0.17.

check_inputbool, default=True

Si False, los arreglos de entrada X e y no serán marcados.

Nuevo en la versión 0.21.

Devuelve
coefndarray de forma (n_features,) o (n_targets, n_features)

Vector(es) de ponderación.

n_iterint, optional

El número real de iteraciones realizadas por el solucionador. Sólo se devuelve si return_n_iter es True.

interceptfloat o ndarray de forma (n_targets,)

La intercepción del modelo. Sólo se devuelve si return_intercept es True y si X es una matriz dispersa de scipy.

Notas

Esta función no calculará la intercepción.