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 de variables intégrée
  • Aide à gérer la coliné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'amplitude des coefficients
  • Cherche un modèle parcimonieux (c.-à-d. simple)
  • Se combine bien avec les modèles de forêts aléatoires
Machine Learning avec caret en R

Ajuster les modèles glmnet

  • Combinaison des régressions lasso et ridge
  • Peut ajuster un mélange des deux modèles
  • alpha [0, 1] : de ridge pur à lasso pur
  • lambda (0, infinity) : intensité de la pénalisation
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 graphique en lignes des courbes ROC en validation croisée selon le pourcentage de mélange pour trois paramètres de régularisation. Un pic apparaît à 0,55 avec la valeur intermédiaire 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...