Introducere în glmnet

Machine Learning cu caret în R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Introducere în glmnet

  • Extensie a modelelor glm cu selecție de variabile
  • Gestionează colinearitatea și eșantioanele mici
  • Două forme principale
    • Regresia Lasso: penalizează numărul de coeficienți nenuli
    • Regresia Ridge: penalizează magnitudinea absolută a coeficienților
  • Caută un model parsimonios (adică simplu)
  • Funcționează bine cu modelele de tip random forest
Machine Learning cu caret în R

Ajustarea modelelor glmnet

  • Combinație între regresia lasso și ridge
  • Poate ajusta un mix al celor două modele
  • alpha [0, 1]: de la ridge pur la lasso pur
  • lambda (0, infinity): mărimea penalizării
Machine Learning cu caret în R

Exemplu: „don't overfit"

# 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 cu caret în R

Valorile implicite

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

# Plot results
plot(model)
  • 3 valori ale alpha
  • 3 valori ale lambda
Machine Learning cu caret în R

Vizualizarea rezultatelor

Grafic liniar al curbelor ROC validate încrucișat în funcție de procentul de mixare, pentru trei parametri de regularizare. Există un vârf la 0,55 pentru valoarea medie a parametrului de regularizare.

Machine Learning cu caret în R

Să exersăm!

Machine Learning cu caret în R

Preparing Video For Download...