LASSO regression sanoista Least Absolute Shrinkness and Selection Operator. Algoritmi on toinen lineaarisen regression muunnelma, aivan kuten ridge-regressio. Käytämme lasso-regressiota, kun meillä on suuri määrä ennustavia muuttujia.
Overview-Lasso-regressio
Lasso-regressio on parsimoninen malli, joka suorittaa L1-regularisaation. L1-säännönmukaistaminen lisää regressiokertoimien absoluuttista suuruutta vastaavan rangaistuksen ja pyrkii minimoimaan ne. Lasson yhtälö on samanlainen kuin ridge-regressio ja näyttää alla esitetyltä.
LS Obj + λ (sum of the absolute values of coefficients)
tässä tavoite on seuraava:
jos λ = 0, saadaan samat kertoimet kuin lineaarinen regressio
jos λ = vary suuri, Kaikki kertoimet kutistuvat kohti nollaa
kaksi mallia, lasso ja ridge-regressio, ovat lähes samanlaisia keskenään. Lassossa suureen varianssiin vaikuttavat kertoimet kuitenkin muunnetaan nollaksi. Toisaalta kertoimet Vain kutistuvat, mutta niitä ei koskaan tehdä nollaksi ridge-regressiossa.
Lasso-regressioanalyysia käytetään myös muuttujan valintaan, koska malli määrää joidenkin muuttujien kertoimet kutistumaan kohti nollaa.
mitä suuri määrä muuttujia tarkoittaa?
- suuri luku tässä tarkoittaa sitä, että mallilla on taipumus ylimitoittaa. Teoriassa vähintään kymmenen muuttujaa voi aiheuttaa ylisuuren ongelman.
- kun kohtaat laskennallisia haasteita johtuen n muuttujien lukumäärästä. Vaikka tämän päivän prosessointiteho järjestelmien, tämä tilanne syntyy harvoin.
seuraavassa kaaviossa on OLS: ää ja lasso-regressiota vertaava visuaalinen tulkinta.

LASSO ei ole kovin hyvä käsittelemään muuttujia, jotka osoittavat korrelaatiota niiden välillä ja voi siten joskus osoittaa hyvin villiä käyttäytymistä.
Harjoittelu Lasso-regressiomalli
Lasso-regressiomallin koulutus on täsmälleen sama kuin ridge-regressiomallin. Meidän täytyy tunnistaa optimaalinen lambda-arvo ja käyttää sitä sitten mallin kouluttamiseen. Tämän saavuttamiseksi voidaan käyttää samaa glmnet
funktiota ja siirtääalpha = 1
argumenttia. Kun ohitamme alpha = 0
, glmnet()
ajaa ridge-regression, ja kun ohitamme alpha = 0.5
, glmnet ajaa toisenlaista mallia, jota kutsutaan elastiseksi verkoksi ja joka on yhdistelmä ridge-ja lasso-regressiota.
- käytämme
cv.glmnet()
funktiota yksilöidäksemme optimaalisen lambda-arvon - uutetta paras lambda ja paras malli
- Rakenna malli käyttäen
glmnet()
funktiota - käytä ennustefunktiota tulevien tietojen arvojen ennustamiseen
tässä esimerkissä käytämme swiss
tietokokonaisuus sosioekonomisten indikaattorien perusteella syntyvyyden ennustamiseksi vuodelta 1888.
päivitetty-koodinpätkä päivitettiin joidenkin muuttujien nimien korjaamiseksi– 28/05/2020
# Output 0.3981072
tätä arvoa käyttäen koulutetaan lasso-Malli uudelleen.
lopuksi yhdistämme ennustetut arvot ja todelliset arvot nähdäksemme nämä kaksi arvoa vierekkäin, minkä jälkeen voit tarkistaa mallin suorituskyvyn R-Potenssikaavalla. Huomautus-Sinun on laskettava R-Neliöarvot sekä juna-että testitietokannalle.
final <- cbind(y_var, pred)# Checking the first six obshead(final)
jakamalla R: n potenssiin formula_5933>
alla oleva funktio on vain suuntaa antava, ja sinun on annettava todelliset ja ennustetut arvot datajoukkosi perusteella.
actual <- test$actualpreds <- test$predictedrss <- sum((preds - actual) ^ 2)tss <- sum((actual - mean(actual)) ^ 2)rsq <- 1 - rss/tssrsq
tärkeiden muuttujien luettelon saaminen
tärkeiden muuttujien luettelon saamiseksi tarvitsee vain tutkia lopullisen parhaan mallin beetakertoimia.
# 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
mallin mukaan maatalouden ja koulutuksen kertoimet on kutistettu nollaan. Näin meillä on jäljellä kolme muuttujaa, nimittäin; tutkiminen, katolinen, ja pikkulapsi.Kuolleisuus
tässä luvussa opimme rakentamaan lasso-regression samalla glmnet-paketilla, jolla rakensimme ridge-regression. Näimme myös, mikä on harjun ja Lasson ero. Seuraavassa luvussa käsitellään dikotomisen muuttujan ennustamista logistisen regression avulla.