Regressão: regularização

Praticando perguntas de entrevista de Machine Learning em Python

Lisa Stuart

Data Scientist

Algoritmos de regularização

  • Regressão Ridge
  • Regressão Lasso
  • Regressão ElasticNet
Praticando perguntas de entrevista de Machine Learning em Python

Mínimos quadrados ordinários

Gráfico OLS

Fórmula OLS

1 https://en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression
Praticando perguntas de entrevista de Machine Learning em Python

Função de perda Ridge

Gráfico de regressão Ridge

Fórmula da regressão Ridge

1 https://gerardnico.com/data_mining/ridge_regression#tuning_parameter_math_lambdamath
Praticando perguntas de entrevista de Machine Learning em Python

Função de perda Lasso

Gráfico de regressão Lasso

Fórmula da regressão Lasso

1 https://stats.stackexchange.com/questions/155192/why-discrepancy-between-lasso-and-randomforest
Praticando perguntas de entrevista de Machine Learning em Python

Ridge vs Lasso

Regularização L1 (Lasso) L2 (Ridge)
penaliza soma dos valores absolutos dos coeficientes soma dos quadrados dos coeficientes
soluções esparsas não esparsas
número de soluções múltiplas única
seleção de variáveis sim não
robusto a outliers? sim não
padrões complexos? não sim
Praticando perguntas de entrevista de Machine Learning em Python

ElasticNet

Fórmula do ElasticNet

Praticando perguntas de entrevista de Machine Learning em Python

Regularização com dados de moradia de Boston

Features CHAS NOX RM
Estimativas de coeficientes 2.7 -17.8 3.8
Estimativas regularizadas dos coeficientes 0 0 0.95
Praticando perguntas de entrevista de Machine Learning em Python

Funções de regularização

# Estimador Lasso 
sklearn.linear_model.Lasso

# Estimador Lasso com validação cruzada
sklearn.linear_model.LassoCV

# Estimador Ridge
sklearn.linear_model.Ridge

# Estimador Ridge com validação cruzada
sklearn.linear_model.RidgeCV

# Estimador ElasticNet
sklearn.linear_model.ElasticNet
# Estimador ElasticNet com validação cruzada
sklearn.linear_model.ElasticNetCV

# Divisão treino/teste
sklearn.model_selection.train_test_split

# Erro quadrático médio
sklearn.metrics.mean_squared_error(y_test, 
                           predict(X_test))
# Melhor parâmetro de regularização
mod_cv.alpha_

# Array de valores em log
alphas=np.logspace(-6, 6, 13)
Praticando perguntas de entrevista de Machine Learning em Python

Vamos praticar!

Praticando perguntas de entrevista de Machine Learning em Python

Preparing Video For Download...