Caminho Lasso com Scikit-Learn

Beginner

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

Introdução

Este laboratório demonstrará como calcular o Caminho Lasso ao longo do parâmetro de regularização usando o algoritmo LARS no conjunto de dados de diabetes. O Caminho Lasso é um gráfico dos coeficientes de um modelo linear à medida que o parâmetro de regularização L1 é aumentado. Cada cor representa um recurso diferente do vetor de coeficientes, e isso é exibido como uma função do parâmetro de regularização.

Dicas da Máquina Virtual

Após o início da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para você.

Carregar Dados

O primeiro passo é carregar o conjunto de dados de diabetes do Scikit-Learn.

from sklearn import datasets

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

Calcular o Caminho Lasso

Em seguida, calculamos o Caminho Lasso usando o algoritmo LARS. A função lars_path do módulo linear_model do Scikit-Learn é usada para calcular o Caminho Lasso. A função recebe como parâmetros as características de entrada, a variável alvo e o método. Neste caso, usamos o método "lasso" para regularização L1.

from sklearn import linear_model

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

Plotar o Caminho Lasso

Após calcular o Caminho Lasso, plotamos os resultados. Os coeficientes para cada característica são plotados em função do parâmetro de regularização.

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("Coeficientes")
plt.title("Caminho Lasso")
plt.axis("tight")
plt.show()

Interpretar Resultados

O gráfico resultante mostra o Caminho Lasso para o conjunto de dados de diabetes. Cada cor representa uma característica diferente do vetor de coeficientes, e isso é exibido como uma função do parâmetro de regularização. À medida que o parâmetro de regularização aumenta, os coeficientes de algumas características encolhem em direção a zero, indicando que essas características são menos importantes para prever a variável alvo.

Resumo

Neste laboratório, demonstramos como calcular e plotar o Caminho Lasso utilizando o algoritmo LARS no conjunto de dados de diabetes. O Caminho Lasso é uma visualização útil para compreender o efeito da regularização L1 nos coeficientes de um modelo linear.