sklearn.linear_model
.LassoLars¶
- class sklearn.linear_model.LassoLars¶
Ajuste del modelo Lasso con la Regresión de Ángulo Mínimo, también conocida como Lars
Es un Modelo Lineal entrenado con un previo L1 como regularizador.
El objetivo de optimización para Lasso es:
(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1
Lee más en el Manual de usuario.
- Parámetros
- alphafloat, default=1.0
Constante que multiplica los términos de penalización. Por defecto es 1.0.
alpha = 0
es equivalente a un mínimos cuadrados ordinarios, solucionado porLinearRegression
. Por razones numéricas, no se recomienda utilizaralpha = 0
con el objeto LassoLars y debes preferir el objeto LinearRegression.- 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).
- verbosebool o int, default=False
Establece la cantidad de verbosidad.
- normalizebool, default=True
Este parámetro es ignorado 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 por la norma l2. Si deseas estandarizar, por favor utilizaStandardScaler
antes de invocar afit
en un estimador connormalize=False
.- precomputebool, “auto” o array-like, default=”auto”
Si usar una matriz de Gram precalculada para acelerar los cálculos. Si se establece como
'auto'
, nosotros decidimos. La matriz de Gram también puede ser pasada como un argumento.- max_iterint, default=500
Número máximo de iteraciones a realizar.
- epsfloat, default=np.finfo(float).eps
La regularización de máquina-precisión en el cálculo de los factores diagonales de Cholesky. Aumenta este parámetro para sistemas muy mal condicionados. A diferencia del parámetro
tol
en algunos algoritmos basados en la optimización iterativa, este parámetro no controla la tolerancia de la optimización.- copy_Xbool, default=True
Si es True, X se copiará; si no, puede ser sobrescrito.
- fit_pathbool, default=True
Si es
True
el camino completo se almacena en el atributocoef_path_
. Si calculas la solución para problema grande o muchos objetivos, establecerfit_path
aFalse
conducirá a una aceleración, especialmente con un alfa pequeño.- positivebool, default=False
Restringe los coeficientes para que sean >= 0. Ten en cuenta que tal vez quieras eliminar fit_intercept que está establecido True por defecto. Bajo la restricción positiva, los coeficientes del modelo no convergerán a la solución de mínimos cuadrados ordinarios para valores pequeños de alfa. Sólo los coeficientes hasta el valor alfa más pequeño (
alphas_[alphas_ > 0.].min()
cuando fit_path=True) alcanzados por el algoritmo de Lars-Lasso por pasos suelen ser congruentes con la solución del estimador Lasso de descenso coordinado.- jitterfloat, default=None
Límite superior de un parámetro de ruido uniforme que se añadirá a los valores de
y
, para satisfacer la suposición del modelo de cálculos de uno en uno. Podría ayudar a la estabilidad.Nuevo en la versión 0.23.
- random_stateentero, instancia de RandomState o None, default=None
Determina la generación de números aleatorios para el jittering. Pasa un número entero (int) para una salida reproducible a través de múltiples invocaciones a la función. Ver Glosario. Se ignora si
jitter
es None.Nuevo en la versión 0.23.
- Atributos
- alphas_array-like de forma (n_alphas + 1,) o lista de tales arreglos
Máximo de covarianzas (en valor absoluto) en cada iteración.
n_alphas
esmax_iter
,n_features
o el número de nodos en el camino conalpha >= alpha_min
, el que sea menor. Si es una lista (list) de array-like, la longitud de la lista exterior esn_targets
.- active_list de longitud n_alphas o lista de tales listas
Índices de las variables activas al final del camino. Si se trata de una lista de listas, la longitud de la lista exterior es
n_targets
.- coef_path_array-like de forma (n_features, n_alphas + 1) o lista de tales arreglos
Si se pasa una lista se espera que sea uno de n_targets tales arreglos. Los valores variables de los coeficientes a lo largo del camino. No está presente si el parámetro
fit_path
esFalse
. Si se trata de una lista de array-like, la longitud de la lista exterior esn_targets
.- coef_array-like de forma (n_features,) o (n_targets, n_features)
Vector de parámetros (w en la fórmula de formulación).
- intercept_float o array-like de forma (n_targets,)
Término independiente en la función de decisión.
- n_iter_array-like o int
El número de iteraciones que toma lars_path para encontrar la cuadrícula de alfas para cada objetivo.
Ver también
Ejemplos
>>> from sklearn import linear_model >>> reg = linear_model.LassoLars(alpha=0.01) >>> reg.fit([[-1, 1], [0, 0], [1, 1]], [-1, 0, -1]) LassoLars(alpha=0.01) >>> print(reg.coef_) [ 0. -0.963257...]
Métodos
Ajusta el modelo utilizando X, y como datos de entrenamiento.
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 utilizando X, y como datos de entrenamiento.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Datos de entrenamiento.
- yarray-like de forma (n_samples,) o (n_samples, n_targets)
Valores objetivo.
- Xyarray-like de forma (n_samples,) or (n_samples, n_targets), default=None
Xy = np.dot(X.T, y) que puede ser precalculado. Es útil sólo cuando la matriz de Gram está precalculada.
- Devuelve
- selfobject
devuelve 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
Los nombres de los 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 de cuadrados total((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 la muestra.
- Devuelve
- scorefloat
\(R^2\) de
self.predict(X)
con respecto ay
.
Notas
La puntuación \(R^2\) utilizada al invocar 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.