Amarengo

Articles and news

hurtig Tutorial om LASSO Regression med eksempel

LASSO regression står for mindst absolut krympning og udvælgelse operatør. Algoritmen er en anden variation af lineær regression, ligesom rygregression. Vi bruger lasso regression, når vi har et stort antal forudsigelsesvariabler.

oversigt – Lasso Regression

Lasso regression er en parsimonious model, der udfører L1-regulering. L1-reguleringen tilføjer en straf svarende til den absolutte størrelse af regressionskoefficienter og forsøger at minimere dem. Ligningen af lasso ligner højderygregression og ligner som angivet nedenfor.

 LS Obj + λ (sum of the absolute values of coefficients)

her er målet som følger:
hvis prisT = 0, får vi de samme koefficienter som lineær regression
hvis prisT = varierer stort, krymper alle koefficienter mod nul

de to modeller, lasso og ridge regression, ligner næsten hinanden. I lasso konverteres koefficienterne, der er ansvarlige for stor varians, imidlertid til nul. På den anden side er koefficienter kun krympet, men bliver aldrig lavet nul i rygregression.

Lasso regressionsanalyse bruges også til variabelt valg, da modellen pålægger koefficienter for nogle variabler for at krympe mod nul.

hvad betyder et stort antal variabler?

  1. det store antal her betyder, at modellen har tendens til at passe over. Teoretisk set kan mindst ti variabler forårsage et overmonteringsproblem.
  2. når du står over for beregningsmæssige udfordringer på grund af tilstedeværelsen af n antal variabler. Selv om der i betragtning af dagens processorkraft af systemer opstår denne situation sjældent.

følgende diagram er den visuelle fortolkning, der sammenligner OLS og lasso regression.

lassoen er ikke særlig god til at håndtere variabler, der viser en sammenhæng mellem dem og dermed undertiden kan vise meget vild opførsel.

træning Lasso regressionsmodel

træningen af lasso regressionsmodellen er nøjagtig den samme som For ridge regression. Vi er nødt til at identificere den optimale lambda-værdi og derefter bruge denne værdi til at træne modellen. For at opnå dette kan vi bruge den samme glmnet funktion og passerealpha = 1 argument. Når vi passerer alpha = 0, glmnet() kører en højderygregression, og når vi passerer alpha = 0.5, kører glmnet en anden slags model, der kaldes elastisk net og er en kombination af højderyg og lasso regression.

  1. vi bruger cv.glmnet() funktion til at identificere den optimale lambda-værdi
  2. Uddrag den bedste lambda og bedste model
  3. Genopbyg modellen ved hjælp af glmnet() funktion
  4. brug predict-funktion til at forudsige værdierne på fremtidige data

i dette eksempel bruger vi swiss datasæt til at forudsige fertilitet baseret på socioøkonomiske indikatorer for året 1888.

opdateret-kodestykke blev opdateret for at rette nogle variabelnavne– 28/05/2020

# Output 0.3981072

Brug denne værdi, lad os træne lasso-modellen igen.

endelig kombinerer vi de forudsagte værdier og faktiske værdier for at se de to værdier side om side, og så kan du bruge R-kvadreret formel til at kontrollere modelydelsen. Bemærk – Du skal beregne r-kvadrerede værdier for både tog-og testdatasættet.

final <- cbind(y_var, pred)# Checking the first six obshead(final)

deling af R-kvadratisk formel

funktionen nedenfor er kun vejledende, og du skal angive de faktiske og forudsagte værdier baseret på dit datasæt.

actual <- test$actualpreds <- test$predictedrss <- sum((preds - actual) ^ 2)tss <- sum((actual - mean(actual)) ^ 2)rsq <- 1 - rss/tssrsq

få listen over vigtige variabler

for at få listen over vigtige variabler skal vi bare undersøge beta-koefficienterne for den endelige bedste model.

# Inspecting beta coefficientscoef(lasso_best)
# Output6 x 1 sparse Matrix of class "dgCMatrix" s0(Intercept) 66.5365304Agriculture -0.0489183Examination . Education -0.9523625Catholic 0.1188127Infant.Mortality 0.4994369

modellen indikerer, at landbrugs-og Uddannelseskoefficienterne er blevet krympet til nul. Således er vi tilbage med tre variabler, nemlig; undersøgelse, katolsk og spædbarn.Dødelighed

i dette kapitel lærte vi, hvordan man bygger en lasso-regression ved hjælp af den samme glmnet-pakke, som vi brugte til at bygge rygregressionen. Vi så også, hvad der er forskellen mellem højderyggen og lasso er. I det næste kapitel vil vi diskutere, hvordan man forudsiger en dikotom variabel ved hjælp af logistisk regression.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.