sklearn.linear_model.lars_path

sklearn.linear_model.lars_path()

Calcula la regresión de ángulo mínimo o la ruta de Lasso mediante el algoritmo LARS [1]

El objetivo de optimización para el caso method=”lasso” es:

(1 / (2 * n_samples)) * ||y - Xw||^2_2 + alpha * ||w||_1

en el caso de method=”lars”, la función objetivo sólo se conoce en forma de ecuación implícita (ver la discusión en [1])

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

Parámetros
XNone o array-like de forma (n_samples, n_features)

Datos de entrada. Ten en cuenta que si X es None, la matriz Gram debe ser especificada, es decir, no puede ser None o False.

yNone o array-like de forma (n_samples,)

Objetivos de entrada.

Xyarray-like de forma (n_samples,) o (n_samples, n_targets), default=None

Xy = np.dot(X.T, y) que puede ser precalculada. Sólo es útil cuando la matriz de Gram está precalculada.

GramNone, “auto”, array-like de forma (n_features, n_features), default=None

Matriz Gram precalculada (X” * X), si es 'auto', la matriz Gram se precalcula a partir de la X dada, si hay más muestras que características.

max_iterint, default=500

Número máximo de iteraciones a realizar, fijado en infinito para no tener límite.

alpha_minfloat, default=0

Correlación mínima a lo largo de la ruta. Corresponde al parámetro de regularización alpha en el Lasso.

method{“lar”, “lasso”}, default=”lar”

Especifica el modelo devuelto. Selecciona 'lar' para la regresión de ángulo mínimo, 'lasso' para Lasso.

copy_Xbool, default=True

Si es False, X se sobrescribe.

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_Grambool, default=True

Si es False, Gram se sobrescribe.

verboseint, default=0

Controla la verbosidad de la salida.

return_pathbool, default=True

Si return_path==True devuelve todo la ruta, sino devuelve sólo el último punto de la ruta.

return_n_iterbool, default=False

Si se devuelve el número de iteraciones.

positivebool, default=False

Restringe los coeficientes para que sean >= 0. Esta opción sólo se permite con el método “lasso”. Ten en cuenta que 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 más pequeño de alfa (alphas_[alphas_ > 0.].min() cuando fit_path=True) alcanzados por el algoritmo Lars-Lasso por pasos suelen ser congruentes con la solución de la función lasso_path de descenso de coordenadas.

Devuelve
alphasarray-like de forma (n_alphas + 1,)

Máximo de covarianzas (en valor absoluto) en cada iteración. n_alphas es max_iter, n_features o el número de nodos en la ruta con alpha >= alpha_min, lo que sea menor.

activearray-like de forma (n_alphas,)

Índices de las variables activas al final de la ruta.

coefsarray-like de forma (n_features, n_alphas + 1)

Coeficientes a lo largo de la ruta

n_iterint

Número de iteraciones ejecutadas. Se devuelve sólo si return_n_iter se establece como True.

Referencias

1

«Least Angle Regression», Efron et al. http://statweb.stanford.edu/~tibs/ftp/lars.pdf

2

Entrada de Wikipedia sobre la regresión de ángulo mínimo

3

Entrada de Wikipedia sobre Lasso

Ejemplos utilizando sklearn.linear_model.lars_path