Scikit-Learn: путь Lasso

Beginner

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

Введение

В этом практическом занятии будет показано, как вычислить путь Lasso по параметру регуляризации с использованием алгоритма LARS на наборе данных о диабете. Путь Lasso - это график коэффициентов линейной модели при увеличении параметра L1-регуляризации. Каждый цвет представляет отдельную характеристику вектора коэффициентов, и он отображается в виде функции от параметра регуляризации.

Советы по использованию ВМ

После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике с использованием Jupyter Notebook.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Загрузка данных

Первым шагом является загрузка набора данных о диабете из Scikit-Learn.

from sklearn import datasets

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

Вычисление пути Lasso

Далее мы вычисляем путь Lasso с использованием алгоритма LARS. Функция lars_path из модуля linear_model Scikit-Learn используется для вычисления пути Lasso. Функция принимает входные признаки, целеевую переменную и метод в качестве параметров. В этом случае мы используем метод "lasso" для L1-регуляризации.

from sklearn import linear_model

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

Построение графика пути Lasso

После вычисления пути Lasso мы строим график результатов. Коэффициенты для каждого признака строятся в виде функции от параметра регуляризации.

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

Интерпретация результатов

Полученный график показывает путь Lasso для набора данных о диабете. Каждый цвет представляет отдельную характеристику вектора коэффициентов, и он отображается в виде функции от параметра регуляризации. При увеличении параметра регуляризации коэффициенты некоторых признаков уменьшаются до нуля, что указывает на то, что эти признаки менее важны для предсказания целевой переменной.

Резюме

В этом практическом занятии мы показали, как вычислить и построить график пути Lasso с использованием алгоритма LARS на наборе данных о диабете. Путь Lasso представляет полезную визуализацию для понимания влияния L1-регуляризации на коэффициенты линейной модели.