Amarengo

Articles and news

Quick Tutorial On Lasso Regression With Example

LASSO regression staat voor Least Absolute Shrinkage and Selection Operator. Het algoritme is een andere variatie van lineaire regressie, net als ridge regressie. We gebruiken Lasso regressie als we een groot aantal voorspellende variabelen hebben.

overzicht – Lasso regressie

Lasso regressie is een spaarzaam model dat L1-regularisatie uitvoert. De L1-regularisatie voegt een straf toe die gelijk is aan de absolute grootte van de regressiecoëfficiënten en probeert deze te minimaliseren. De vergelijking van lasso is vergelijkbaar met ridge regressie en ziet eruit als zoals hieronder gegeven.

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

hier is het doel als volgt:
Als λ = 0, krijgen we dezelfde coëfficiënten als lineaire regressie
Als λ = groot variëren, worden alle coëfficiënten gekrompen naar nul

de twee modellen, lasso en ridge regressie, zijn bijna vergelijkbaar met elkaar. Echter, in lasso, de coëfficiënten die verantwoordelijk zijn voor grote variantie worden omgezet in nul. Aan de andere kant worden coëfficiënten alleen gekrompen, maar nooit nul gemaakt in ridge regressie.

Lasso-regressieanalyse wordt ook gebruikt voor variabele selectie omdat het model coëfficiënten van sommige variabelen oplegt om naar nul te krimpen.

wat betekent een groot aantal variabelen?

  1. het grote getal hier betekent dat het model de neiging heeft te passen. Theoretisch kan een minimum van tien variabelen een probleem van overbevissing veroorzaken.
  2. wanneer u te maken krijgt met computationele uitdagingen als gevolg van de aanwezigheid van n aantal variabelen. Hoewel, gezien de huidige verwerkingskracht van systemen, komt deze situatie zelden voor.

het volgende diagram is de visuele interpretatie waarbij OLS-en lasso-regressie worden vergeleken.

de LASSO is niet erg goed in het hanteren van variabelen die een correlatie tussen hen laten zien en kan dus soms zeer wild gedrag vertonen.

Training Lasso regressiemodel

de training van het Lasso regressiemodel is precies hetzelfde als die van ridge regressie. We moeten de optimale lambda waarde identificeren en die waarde gebruiken om het model te trainen. Om dit te bereiken, kunnen we dezelfde glmnet functie en passalpha = 1 argument gebruiken. Als we alpha = 0 passeren, loopt glmnet() een ridge regressie, en als we alpha = 0.5 passeren, draait het glmnet een ander soort model dat elastisch net wordt genoemd en een combinatie is van ridge en lasso regressie.

  1. we gebruiken cv.glmnet() functie om de optimale lambdawaarde
  2. te identificeren Extract the best lambda and best model
  3. herbouw het model met glmnet() functie
  4. use predict function to predict the values on future data

in dit voorbeeld zullen we swiss dataset gebruiken om de vruchtbaarheid te voorspellen op basis van sociaaleconomische indicatoren voor het jaar 1888.

bijgewerkt-codefragment is bijgewerkt om enkele namen van variabelen te corrigeren– 28/05/2020

# Output 0.3981072

met behulp van deze waarde, laten we het lasso model opnieuw trainen.

tot slot combineren we de voorspelde waarden en de werkelijke waarden om de twee waarden naast elkaar te zien, en dan kunt u de R-kwadraat formule gebruiken om de modelprestaties te controleren. Opmerking-u moet de R-kwadraatwaarden berekenen voor zowel de trein-als de testdataset.

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

het delen van de formule R kwadraat

de functie hieronder is slechts indicatief, en u moet de werkelijke en voorspelde waarden opgeven op basis van uw dataset.

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

het verkrijgen van de lijst van belangrijke variabelen

om de lijst van belangrijke variabelen te krijgen, hoeven we alleen maar de bètacoëfficiënten van het uiteindelijke beste model te onderzoeken.

# 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

het model geeft aan dat de coëfficiënten van Landbouw en onderwijs zijn gekrompen tot nul. Zo blijven er drie variabelen Over, namelijk: onderzoek, katholiek en kind.Mortaliteit

In dit hoofdstuk hebben we geleerd hoe we een lasso-regressie kunnen bouwen met hetzelfde glmnet-pakket, dat we gebruikten om de ridge-regressie te bouwen. We zagen ook wat het verschil is tussen de nok en de lasso. In het volgende hoofdstuk zullen we bespreken hoe je een dichotome variabele kunt voorspellen met behulp van logistische regressie.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.