Introduktion till glmnet

Maskininlärning med caret i R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Introduktion till glmnet

  • Utökning av glm-modeller med inbyggd variabelurval
  • Hanterar multikollinearitet och små urvalsstorlekar
  • Två huvudformer
    • Lasso-regression: straffar antalet nollskilda koefficienter
    • Ridge-regression: straffar koefficienternas absoluta storlek
  • Strävar efter en sparsam (d.v.s. enkel) modell
  • Fungerar bra tillsammans med slumpskogsmodeller
Maskininlärning med caret i R

Justera glmnet-modeller

  • Kombination av lasso- och ridge-regression
  • Kan anpassa en blandning av de två modellerna
  • alpha [0, 1]: från ren ridge till ren lasso
  • lambda (0, infinity): straffets storlek
Maskininlärning med caret i R

Exempel: "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
)
Maskininlärning med caret i R

Prova standardinställningarna

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

# Plot results
plot(model)
  • 3 värden på alpha
  • 3 värden på lambda
Maskininlärning med caret i R

Visa resultaten

Ett linjediagram över korsvaliderade ROC-kurvor per blandningsandel för tre regulariseringsparametrar. Kurvan når ett maximum vid 0,55 med det mellersta värdet på regulariseringsparametern.

Maskininlärning med caret i R

Nu kör vi en övning!

Maskininlärning med caret i R

Preparing Video For Download...