Introduzione a glmnet

Machine Learning con caret in R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Introduzione a glmnet

  • Estensione dei modelli glm con selezione variabili integrata
  • Aiuta con collinearità e campioni piccoli
  • Due forme principali
    • Regressione lasso: penalizza il numero di coefficienti non zero
    • Regressione ridge: penalizza la magnitudine assoluta dei coefficienti
  • Cerca un modello parco (cioè semplice)
  • Si abbina bene ai modelli random forest
Machine Learning con caret in R

Tuning dei modelli glmnet

  • Combinazione di lasso e ridge
  • Può adattare un mix dei due modelli
  • alpha [0, 1]: da ridge puro a lasso puro
  • lambda (0, infinity): intensità della penalizzazione
Machine Learning con caret in R

Esempio: "non overfittare"

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

Prova i default

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

# Plot results
plot(model)
  • 3 valori di alpha
  • 3 valori di lambda
Machine Learning con caret in R

Traccia i risultati

Un grafico a linee delle ROC cross-validati per percentuale di mix, con tre parametri di regolarizzazione. C'è un picco a 0,55 con il valore medio del parametro di regolarizzazione.

Machine Learning con caret in R

Passiamo alla pratica !

Machine Learning con caret in R

Preparing Video For Download...