Chemin de Lasso avec Scikit-Learn

Beginner

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

Introduction

Ce laboratoire démontrera comment calculer le chemin de Lasso le long du paramètre de régularisation à l'aide de l'algorithme LARS sur l'ensemble de données du diabète. Le chemin de Lasso est un graphique des coefficients d'un modèle linéaire au fur et à mesure que le paramètre de régularisation L1 est augmenté. Chaque couleur représente une caractéristique différente du vecteur de coefficients, et cela est affiché en fonction du paramètre de régularisation.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.

Charger les données

La première étape consiste à charger l'ensemble de données du diabète à partir de Scikit-Learn.

from sklearn import datasets

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

Calculer le chemin de Lasso

Ensuite, nous calculons le chemin de Lasso à l'aide de l'algorithme LARS. La fonction lars_path du module linear_model de Scikit-Learn est utilisée pour calculer le chemin de Lasso. La fonction prend les caractéristiques d'entrée, la variable cible et la méthode en tant que paramètres. Dans ce cas, nous utilisons la méthode "lasso" pour la régularisation L1.

from sklearn import linear_model

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

Tracer le chemin de Lasso

Après avoir calculé le chemin de Lasso, nous traçons les résultats. Les coefficients de chaque caractéristique sont tracés en fonction du paramètre de régularisation.

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()

Interpréter les résultats

Le graphique obtenu montre le chemin de Lasso pour l'ensemble de données du diabète. Chaque couleur représente une caractéristique différente du vecteur de coefficients, et cela est affiché en fonction du paramètre de régularisation. Au fur et à mesure que le paramètre de régularisation augmente, les coefficients de certaines caractéristiques se rétrécissent vers zéro, indiquant que ces caractéristiques sont moins importantes pour prédire la variable cible.

Sommaire

Dans ce laboratoire, nous avons démontré comment calculer et tracer le chemin de Lasso à l'aide de l'algorithme LARS sur l'ensemble de données du diabète. Le chemin de Lasso est une visualisation utile pour comprendre l'effet de la régularisation L1 sur les coefficients d'un modèle linéaire.