Kennismaking met glmnet

Machine Learning met caret in R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Kennismaking met glmnet

  • Uitbreiding van glm-modellen met ingebouwde variabelenselectie
  • Helpt bij collineariteit en kleine steekproeven
  • Twee hoofdvormen
    • Lasso-regressie: straft aantal niet-nulcoëfficiënten
    • Ridge-regressie: straft absolute grootte van coëfficiënten
  • Zoekt een zuinig (simpel) model
  • Werkt goed samen met random forest-modellen
Machine Learning met caret in R

Glmnet-modellen afstemmen

  • Combinatie van lasso- en ridge-regressie
  • Kan een mix van beide fitten
  • alpha [0, 1]: van pure ridge naar pure lasso
  • lambda (0, infinity): grootte van de straf
Machine Learning met caret in R

Voorbeeld: "niet overfitten"

# 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 met caret in R

Probeer de standaardinstellingen

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

# Plot results
plot(model)
  • 3 waarden voor alpha
  • 3 waarden voor lambda
Machine Learning met caret in R

Resultaten plotten

Een lijngrafiek van cross-validated ROC-curves per mixpercentage voor drie regularisatieparameters. Er is een piek bij 0,55 met de middelste waarde van de regularisatieparameter.

Machine Learning met caret in R

Laten we oefenen!

Machine Learning met caret in R

Preparing Video For Download...