Apresentando o glmnet

Machine Learning com caret em R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Apresentando o glmnet

  • Extensão de modelos glm com seleção de variáveis embutida
  • Ajuda a lidar com colinearidade e amostras pequenas
  • Duas formas principais
    • Regressão lasso: penaliza o número de coeficientes diferentes de zero
    • Regressão ridge: penaliza a magnitude absoluta dos coeficientes
  • Busca um modelo parcimonioso (isto é, simples)
  • Combina bem com modelos de random forest
Machine Learning com caret em R

Ajustando modelos glmnet

  • Combinação de lasso e ridge
  • Pode ajustar uma mistura dos dois
  • alpha [0, 1]: de ridge puro a lasso puro
  • lambda (0, infinity): tamanho da penalização
Machine Learning com caret em R

Exemplo: "não faça overfitting"

# Load data
overfit <- read.csv("overfit.csv")

# Make a custom trainControl
myControl <- trainControl(
  method = "cv", 
  number = 10,
  summaryFunction = twoClassSummary,
  classProbs = TRUE, # <- Super important!
  verboseIter = TRUE
)
Machine Learning com caret em R

Experimente os padrões

# Fit a model
set.seed(42)
model <- train(
  y ~ ., 
  overfit, 
  method = "glmnet", 
  trControl = myControl
)

# Plot results
plot(model)
  • 3 valores de alpha
  • 3 valores de lambda
Machine Learning com caret em R

Visualize os resultados

Um gráfico de linhas de curvas ROC com validação cruzada por porcentagem de mistura para três parâmetros de regularização. Há um pico em 0,55 com o valor intermediário do parâmetro de regularização.

Machine Learning com caret em R

Vamos praticar!

Machine Learning com caret em R

Preparing Video For Download...