Camino de Lasso en Scikit-Learn

Beginner

This tutorial is from open-source community. Access the source code

Introducción

Esta práctica demostrará cómo calcular el camino de Lasso a lo largo del parámetro de regularización utilizando el algoritmo LARS en el conjunto de datos de diabetes. El camino de Lasso es una gráfica de los coeficientes de un modelo lineal a medida que se aumenta el parámetro de regularización L1. Cada color representa una característica diferente del vector de coeficientes, y esto se muestra como una función del parámetro de regularización.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos inmediatamente.

Cargar datos

El primer paso es cargar el conjunto de datos de diabetes de Scikit-Learn.

from sklearn import datasets

X, y = datasets.load_diabetes(return_X_y=True)

Calcular el camino de Lasso

A continuación, calculamos el camino de Lasso utilizando el algoritmo LARS. La función lars_path del módulo linear_model de Scikit-Learn se utiliza para calcular el camino de Lasso. La función toma las características de entrada, la variable objetivo y el método como parámetros. En este caso, usamos el método "lasso" para la regularización L1.

from sklearn import linear_model

_, _, coefs = linear_model.lars_path(X, y, method="lasso", verbose=True)

Graficar el camino de Lasso

Después de calcular el camino de Lasso, graficamos los resultados. Los coeficientes de cada característica se grafican como una función del parámetro de regularización.

import numpy as np
import matplotlib.pyplot as plt

xx = np.sum(np.abs(coefs.T), axis=1)
xx /= xx[-1]

plt.plot(xx, coefs.T)
ymin, ymax = plt.ylim()
plt.vlines(xx, ymin, ymax, linestyle="dashed")
plt.xlabel("|coef| / max|coef|")
plt.ylabel("Coefficients")
plt.title("LASSO Path")
plt.axis("tight")
plt.show()

Interpretar los resultados

La gráfica resultante muestra el camino de Lasso para el conjunto de datos de diabetes. Cada color representa una característica diferente del vector de coeficientes, y esto se muestra como una función del parámetro de regularización. A medida que aumenta el parámetro de regularización, los coeficientes de algunas características se reducen hacia cero, lo que indica que esas características son menos importantes para predecir la variable objetivo.

Resumen

En este laboratorio, demostramos cómo calcular y graficar el camino de Lasso utilizando el algoritmo LARS en el conjunto de datos de diabetes. El camino de Lasso es una visualización útil para entender el efecto de la regularización L1 en los coeficientes de un modelo lineal.