Wprowadzenie do glmnet

Uczenie maszynowe z caret w R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Wprowadzenie do glmnet

  • Rozszerzenie modeli glm z wbudowaną selekcją zmiennych
  • Pomaga przy współliniowości i małych próbach
  • Dwie główne formy
    • Regresja Lasso: penalizuje liczbę niezerowych współczynników
    • Regresja grzbietowa: penalizuje bezwzględną wielkość współczynników
  • Dąży do uzyskania oszczędnego (prostego) modelu
  • Dobrze łączy się z modelami lasów losowych
Uczenie maszynowe z caret w R

Dostrajanie modeli glmnet

  • Połączenie regresji Lasso i grzbietowej
  • Może dopasować kombinację obu modeli
  • alpha [0, 1]: od czystej grzbietowej do czystej Lasso
  • lambda (0, infinity): wielkość kary
Uczenie maszynowe z caret w R

Przykład: "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
)
Uczenie maszynowe z caret w R

Użyj wartości domyślnych

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

# Plot results
plot(model)
  • 3 wartości alpha
  • 3 wartości lambda
Uczenie maszynowe z caret w R

Wizualizacja wyników

Wykres liniowy kroswalidowanych krzywych ROC w zależności od współczynnika mieszania dla trzech parametrów regularyzacji. Szczyt na poziomie 0,55 odpowiada środkowej wartości parametru regularyzacji.

Uczenie maszynowe z caret w R

Czas na ćwiczenia!

Uczenie maszynowe z caret w R

Preparing Video For Download...