Představení glmnet

Machine Learning s balíčkem caret v R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Představení glmnet

  • Rozšíření modelů glm s vestavěným výběrem proměnných
  • Pomáhá při multikolinearitě a malých vzorcích
  • Dvě základní formy
    • Lasso regrese: penalizuje počet nenulových koeficientů
    • Ridge regrese: penalizuje absolutní velikost koeficientů
  • Hledá úsporný (tj. jednoduchý) model
  • Dobře se kombinuje s modely náhodného lesa
Machine Learning s balíčkem caret v R

Ladění modelů glmnet

  • Kombinace lasso a ridge regrese
  • Umožňuje míchat oba modely
  • alpha [0, 1]: od čisté ridge po čistou lasso
  • lambda (0, infinity): velikost penalizace
Machine Learning s balíčkem caret v R

Příklad: „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
)
Machine Learning s balíčkem caret v R

Výchozí nastavení

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

# Plot results
plot(model)
  • 3 hodnoty alpha
  • 3 hodnoty lambda
Machine Learning s balíčkem caret v R

Vizualizace výsledků

Čárový graf křivek ROC z křížové validace podle podílu mixu pro tři parametry regularizace. Vrchol je při hodnotě 0,55 u středního parametru regularizace.

Machine Learning s balíčkem caret v R

Pojďme si procvičit!

Machine Learning s balíčkem caret v R

Preparing Video For Download...