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 comoLogisticRegression
oLinearSVC
. 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
ymax_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.