Uvod Logistična regresija v R
Logistična regresija v R, znana tudi kot težave z binarno klasifikacijo. Uporabljajo se za napovedovanje rezultata kot (1 ali 0 da / ne) za neodvisno spremenljivko. Za razumevanje logistične regresije v R je pomembno poznati osnovno linearno regresijo, deluje s spremenljivko kontinuiranega izida. Natančneje lahko rečemo, da gre za podaljšanje linearne regresije. V tem članku bomo razpravljali o različnih metodah, ki se uporabljajo za izračun modela in vrednotenja. Logistična regresija se uporablja za reševanje klasifikacijskih problemov v strojnem učenju.
Kako deluje logistična regresija v R?
Logistična regresija je tehnika, ki se uporablja na področju statistike za merjenje razlike med neodvisno in neodvisno spremenljivko z vodnikom logistične funkcije z oceno različnih pojavov verjetnosti. Lahko so bodisi binomni (ima izid da ali ne), bodisi multinomni (Pošteno proti slabim in zelo slabi). Vrednosti verjetnosti so med 0 in 1, spremenljivka pa mora biti pozitivna (<1). Ciljno usmeri na odvisno spremenljivko in ima naslednje korake:
- n- brez določenih preskusov na odvzetem naboru podatkov
- z dvema izidoma preskusa
- izid verjetnosti bi moral biti neodvisen drug od drugega
- Verjetnost uspeha in neuspehov mora biti pri vsaki preizkušnji enaka.
Pri tem razmišljamo o primeru, če vzamemo paket ISLR, ki ponuja različne naloge podatkov za usposabljanje. Za namestitev modela se tukaj uporablja posplošena funkcija linearnega modela (glm). Za izgradnjo logistične regresije je prednostna funkcija glm in podrobnosti o njih dobi s povzetkom analize.
Delovni koraki:
Delovni koraki logistične regresije sledijo določenim elementom term, kot so
- Modeliranje verjetnosti ali ocena verjetnosti
- napoved
- Začetna vrednost praga (visoka ali nizka specifičnost)
- Matrica zmede
- Površina načrtovanja pod krivuljo (AUC)
Primeri
Spodaj je nekaj primerov logistične regresije v R:
Nalaganje podatkov:
Namestitev paketa ISLR.
zahtevajo (ISLR)
Nalaganje potrebnega paketa: ISLR
V tem članku bomo v RStudio uporabili nabor podatkov "Weekly". Nabor podatkov vključuje povzetke podrobnih podatkov o tedenskih zalogah od leta 1990 do 2010.
zahtevajo (ISLR)
imena (UL)
Izhod:
(1) "Nakup" "WeekofNakup" "StoreID" "PriceCH" (5) “PriceMM” “DiscCH” “DiscMM” “SpecialCH” (9) "SpecialMM" "LoyalCH" "SalePriceMM" "SalePriceCH" (13) “PriceDiff” “Store7” “PctDiscMM” “PctDiscCH” (17) "SeznamPriceDiff" "STORE"str (UL)
Prikaže 1070 opazovanj 18 spremenljivk.
Naš nabor podatkov ima 1070 opazovanj in 18 različnih spremenljivk. tu imamo poseben MM in poseben CH ima odvisen rezultat. Vzemimo poseben atribut MM, da bomo imeli pravilno opazovanje in natančnost 84%.
tabela (UL $ SpecialMM)
0 1
897 173
Nato najdemo verjetnost
897/1070
(1) 0, 8383178V naslednjem koraku za boljši vzorec Razdelitev nabora podatkov v nabor podatkov o usposabljanju in testiranju je goo
knjižnica (caTools)
set.seed (88)
split = sample.split (UL $ SpecialMM, SplitRatio = 0, 84)
Glede na to, da ima qt set za usposabljanje, qs pa vzorčne podatke testnega niza.
qt = podskupina (UL, razdelitev == TRUE)
qs = podskupina (UL, razdelitev == FALSE)
nihanje (qt)
(1) 898nihanje (qs)
(1) 172Zato imamo 898 ur za usposabljanje in 172 preizkusnih vzorcev.
Naslednja uporaba Summary () poda podrobnosti o odstopanju in koeficientnih tabelah za regresijsko analizo.
QualityLog = glm (SpecialMM ~ SalePriceMM + WeekofPodkup, podatki = qt, družina = binomski)
povzetek (QualityLog)
Izhod:
Pokliči:
glm (formula = SpecialMM ~ SalePriceMM + WeekofNakup, družina = binom, podatki = qt) Preostali delivanci: Min 1Q Mediana 3Q Max -1.2790 -0.4182 -0.3687 -0.2640 2.4284 Koeficienti: Oceni št. Napaka z vrednost Pr (> | z |) (Prestrezanje) 2.910774 1.616328 1.801 0.07173. ProdajaCenaMM -4.538464 0.405808 -11.184 <2e-16 *** WeekofNakup 0, 015546 0, 005831 2, 66 0, 00767 ** - Ničelno odstopanje: 794, 01 na 897 stopinj svobode Preostalo odstopanje: 636, 13 na 895 stopinj svobode AIC: 642.13 Število ponovitev Fisherjevega točkovanja: 5 |
Iz zgornje analize je razvidno, da tabela koeficientov daje pozitivne vrednosti za WeekofPurchase in imajo vsaj dve zvezdi, kar pomeni, da sta pomembni kodi modela.
Tehnika napovedovanja:
Tu bomo v tem paketu R uporabili funkcijo predvidevanja vlaka in podali verjetnosti, da uporabljamo argument z imenom type = odgovor. Poglejmo napoved, ki se uporablja za vadbeni niz (qt). R napoveduje izid v obliki P (y = 1 | X) z mejno verjetnostjo 0, 5.
predictTrain = napovedovati (QualityLog, type = "odgovor")
Povzetek rezultatov je srednja, srednja in min, max vrednost.
povzetek (predictTrain) Izvedba daje
Min. 1. Qu.Median Mean 3. Qu.Max.
0, 02192 0, 03342 0, 07799 0, 16147 0, 25395 0, 89038
tapply (predictTrain, qt $ SpecialMM)
Za izračun povprečja za resnične verjetnosti se uporablja funkcija tapply ().
tapply (predvidi Train, qt $ SpecialMM, srednje)
0 1
0, 1224444 0, 3641334
Zato v zgornji trditvi ugotovimo, da možnost pravega SpecialMM pomeni vrednost 0, 34, za resnično slabo vrednost pa 0, 12.
Izračun mejne vrednosti:
če je P> T - napoved slaba, poseben MM
če je P Klasifikacijska matrica: tabela (qt $ SpecialMM, napovedovanjeTrain> 0, 5) LAŽNA TRUE 0 746 7 1 105 40 Za izračun občutljivosti in specifičnosti 40/145
746/753
(1) 0, 9907039Testna garnitura Napoved
predictTest = napovedovati (QualityLog, type = "odgovor", novi podatki = qs)
tabela (qs $ SpecialMM, predictTest> = 0, 3)
LAŽNA TRUE
0 130 14
1 10 18
tabela (qs $ SpecialMM, predictTest> = 0, 5)
LAŽNA TRUE
0 140 4
1 18 10
Izračun natančnosti
150/172
(1) 0, 872093Obstaja 172 primerov, od tega 144 dobrih in 28 slabih.
Načrt krivulje ROC:
To je zadnji korak z risbo krivulje ROC za meritve zmogljivosti. Dobra vrednost AUC bi morala biti bližja 1, ne 0, 5. Preverjanje z verjetnostmi 0, 5, 0, 7, 0, 2 za napoved, kako se vrednost praga povečuje in zmanjšuje. To se izvede tako, da se v krivulji ROC hkrati prikažejo mejne vrednosti. Dobra izbira je izbira glede na večjo občutljivost.
Logistične regresijske tehnike
Oglejmo si izvedbo logistike z uporabo R, saj zelo enostavno prilega modelu. Obstajata dve vrsti tehnik:
- Multinomična logistična regresija
- Navadna logistična regresija
Prejšnje deluje z spremenljivkami odziva, če imata več ali enaka dva razreda. kasneje deluje, ko je naročilo pomembno.
Zaključek
Zato smo se naučili osnovne logike regresije, poleg tega pa smo implementirali logistično regresijo na določenem naboru podatkov R. Binomska ali binarna regresija meri kategorične vrednosti binarnih odzivov in spremenljivk napovedovalca. Igrajo ključno vlogo pri analitiki, pri čemer strokovnjaki v industriji pričakujejo linearno in logistično regresijo. Imajo svoje izzive in v praktičnem primeru smo storili s koraki na področju čiščenja, predhodne obdelave podatkov. Skupaj smo videli, kako logistična regresija na enostaven in enostaven način rešuje problem kategoričnega izida.
Priporočeni članki
To je vodnik za Logistično regresijo v R. Tukaj razpravljamo o delu, različnih tehnikah in široki razlagi o različnih metodah, uporabljenih v Logistični regresiji v R. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Okviri strojnega učenja
- R proti Pythonu
- Funkcije nizov Python-a
- Ali je Python skriptni jezik
- Binomna porazdelitev v R | Sintaksa
- Regresija proti razvrstitvi