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:

  1. n- brez določenih preskusov na odvzetem naboru podatkov
  2. z dvema izidoma preskusa
  3. izid verjetnosti bi moral biti neodvisen drug od drugega
  4. 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, 8383178

V 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) 898

nihanje (qs)

(1) 172

Zato 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

(1) 0, 2758621

746/753

(1) 0, 9907039

Testna 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, 872093

Obstaja 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 -

  1. Okviri strojnega učenja
  2. R proti Pythonu
  3. Funkcije nizov Python-a
  4. Ali je Python skriptni jezik
  5. Binomna porazdelitev v R | Sintaksa
  6. Regresija proti razvrstitvi

Kategorija: