Amarengo

Articles and news

tutorial rapid pe regresie LASSO cu exemplu

regresie LASSO standuri pentru cel mai mic contracție absolută și operatorul de selecție. Algoritmul este o altă variație a regresiei liniare, la fel ca regresia creastei. Folosim regresia lasso atunci când avem un număr mare de variabile predictoare.

Prezentare generală – regresia Lasso

regresia Lasso este un model parsimonios care efectuează regularizarea L1. Regularizarea L1 adaugă o penalizare echivalentă cu magnitudinea absolută a coeficienților de regresie și încearcă să le minimizeze. Ecuația lasso este similară cu regresia creastei și arată așa cum este prezentat mai jos.

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

aici obiectivul este după cum urmează:
în cazul în care hectolitru = 0, obținem aceiași coeficienți ca și regresia liniară
în cazul în care hectolitru = variază mare, toți coeficienții sunt micșorați spre zero

cele două modele, lasso și regresia creastei, sunt aproape similare între ele. Cu toate acestea, în lasso, coeficienții care sunt responsabili pentru varianța mare sunt convertiți la zero. Pe de altă parte, coeficienții sunt doar micșorați, dar nu sunt niciodată făcuți zero în regresia creastei.

analiza de regresie Lasso este, de asemenea, utilizată pentru selecția variabilelor, deoarece modelul impune coeficienții unor variabile să se micșoreze spre zero.

ce înseamnă un număr mare de variabile?

  1. numărul mare de aici înseamnă că modelul tinde să se potrivească prea mult. Teoretic, un minim de zece variabile pot provoca o problemă de suprasolicitare.
  2. atunci când se confruntă cu provocări de calcul din cauza prezenței n numărul de variabile. Deși, având în vedere puterea de procesare a sistemelor de astăzi, această situație apare rar.

următoarea diagramă este interpretarea vizuală comparând regresia OLS și lasso.

LASSO nu este foarte bun la manipularea variabilelor care arată o corelație între ele și, prin urmare, poate prezenta uneori un comportament foarte sălbatic.

model de regresie Lasso de formare

formarea modelului de regresie lasso este exact aceeași cu cea a regresiei creastei. Trebuie să identificăm valoarea lambda optimă și apoi să folosim această valoare pentru a instrui modelul. Pentru a realiza acest lucru, putem folosi aceeași funcție glmnet și trecealpha = 1 argument. Când trecem alpha = 0, glmnet() rulează o regresie de creastă, iar când trecem alpha = 0.5, glmnet rulează un alt tip de model care se numește plasă elastică și este o combinație de regresie de creastă și lasso.

  1. folosim funcția cv.glmnet() pentru a identifica valoarea lambda optimă
  2. extrageți cel mai bun lambda și cel mai bun model
  3. reconstruiți modelul folosind funcția glmnet()
  4. utilizați funcția de predicție pentru a prezice valorile datelor viitoare

pentru acest exemplu, vom folosi funcția swiss set de date pentru a prezice fertilitatea pe baza indicatorilor socioeconomici pentru anul 1888.

actualizat-fragment de cod a fost actualizat pentru a corecta unele nume de variabile– 28/05/2020

# Output 0.3981072

folosind această valoare, să antrenăm din nou modelul lasso.

în cele din urmă, combinăm valorile prezise și valorile reale pentru a vedea cele două valori una lângă alta, apoi puteți utiliza formula R-pătrat pentru a verifica performanța modelului. Notă-trebuie să calculați valorile R-Squared atât pentru tren, cât și pentru setul de date de testare.

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

partajarea formulei R pătrat

funcția furnizată mai jos este doar indicativă și trebuie să furnizați valorile reale și prezise pe baza setului dvs. de date.

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

obținerea listei variabilelor importante

pentru a obține lista variabilelor importante, trebuie doar să investigăm coeficienții beta ai celui mai bun model final.

# 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

modelul indică faptul că coeficienții Agriculturii și educației au fost micșorați la zero. Astfel, am rămas cu trei variabile, și anume: examinarea, Catolicul și copilul.Mortalitate

în acest capitol, am învățat cum să construim o regresie lasso folosind același pachet glmnet, pe care l-am folosit pentru a construi regresia creastei. De asemenea, am văzut care este diferența dintre creastă și lasso. În capitolul următor, vom discuta cum să prezicem o variabilă dihotomică folosind regresia logistică.

Lasă un răspuns

Adresa ta de email nu va fi publicată.