Présentation de glmnet

Machine Learning avec caret en R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Présentation de glmnet

  • Extension des modèles glm avec sélection intégrée de variables
  • Aide à gérer la collinéarité et les petits échantillons
  • Deux formes principales
    • Régression lasso : pénalise le nombre de coefficients non nuls
    • Régression ridge : pénalise l'ampleur des coefficients
  • Cherche un modèle parcimonieux (donc simple)
  • Se combine bien avec les forêts aléatoires
Machine Learning avec caret en R

Ajuster les hyperparamètres de glmnet

  • Combinaison des régressions lasso et ridge
  • Peut ajuster un mélange des deux
  • alpha [0, 1] : de ridge pur à lasso pur
  • lambda (0, infinity) : intensité de la pénalité
Machine Learning avec caret en R

Exemple : « ne pas surajuster »

# 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 avec caret en R

Essayer les valeurs par défaut

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

# Plot results
plot(model)
  • 3 valeurs de alpha
  • 3 valeurs de lambda
Machine Learning avec caret en R

Tracer les résultats

Un tracé linéaire des courbes ROC validées croisée selon le pourcentage de mélange pour trois paramètres de régularisation. Un sommet apparaît à 0,55 avec la valeur médiane du paramètre de régularisation.

Machine Learning avec caret en R

Passons à la pratique !

Machine Learning avec caret en R

Preparing Video For Download...