Introduksjon Logistisk regresjon i R

Logistisk regresjon i R også kjent som binære klassifiseringsproblemer. De brukes til å forutsi et utfall som (1 eller 0 enten ja / nei) for en uavhengig variabel. For å forstå logistisk regresjon i R, er det viktig å kjenne den grunnleggende lineære regresjonen, fungerer med den kontinuerlige utfallsvariabelen. Mer spesifikt kan vi si at det er en forlengelse av lineær regresjon. I denne artikkelen skal vi diskutere forskjellige metoder som brukes for å beregne modell og evaluering. Logistisk regresjon brukes til å løse klassifiseringsproblemer i maskinlæring.

Hvordan fungerer logistisk regresjon i R?

Logistisk regresjon er en teknikk som brukes innen statistikkfeltet som måler forskjellen mellom en avhengig og uavhengig variabel med guiden for logistisk funksjon ved å estimere den forskjellige forekomsten av sannsynligheter. De kan være binomiale (har ja eller nei-utfall) eller multinomiale (rettferdig vs. dårlig veldig dårlig). Sannsynlighetsverdiene ligger mellom 0 og 1, og variabelen skal være positiv (<1). Den retter seg mot den avhengige variabelen og har følgende trinn å følge:

  1. n.nr. av faste studier på et tatt datasett
  2. med to utfallsstudier
  3. utfallet av sannsynligheten skal være uavhengig av hverandre
  4. Sannsynligheten for suksess og fiaskoer må være den samme ved hver prøve.

I dette vurderer vi et eksempel ved å ta ISLR-pakken, som gir forskjellige datasett for trening. For å passe modellen brukes generalisert lineær modellfunksjon (glm) her. For å bygge en logistisk regresjon foretrekkes glm-funksjon og får detaljene om dem ved å bruke et sammendrag for analyseoppgave.

Arbeidstrinn:

Arbeidstrinnene for logistisk regresjon følger visse begrepselementer som

  • Modellering av sannsynligheten eller gjøre sannsynlighetsestimering
  • prediksjon
  • Initialisere terskelverdi (høy eller lav spesifisitet)
  • Forvirringsmatrise
  • Plotteområdet under kurven (AUC)

eksempler

Nedenfor er noen eksempler på Logistic Regression i R:

Innlasting av data:

Installere ISLR-pakken.

kreve (ISLR)

Laster inn nødvendig pakke: ISLR

For denne artikkelen skal vi bruke et datasett 'Weekly' i RStudio. Datasettet impliserer sammendragsdetaljene for den ukentlige lager fra 1990 til 2010.

kreve (ISLR)

navn (OJ)

Produksjon:

(1) “Kjøp” “WeekofPurchase” “StoreID” “PriceCH”

(5) “PriceMM” “DiscCH” “DiscMM” “SpecialCH”

(9) “SpecialMM” “LoyalCH” “SalePriceMM” “SalePriceCH”

(13) “PriceDiff” “Store7” “PctDiscMM” “PctDiscCH”

(17) ”ListPriceDiff” “STORE”

str (OJ)

Viser 1070 Observasjoner av 18 variabler.

Datasettet vårt har 1070 observasjoner og 18 forskjellige variabler. her har vi Special MM Og spesiell CH har et avhengig resultat. La oss ta en spesiell MM-attributt for å ha en riktig observasjon og en nøyaktighet på 84%.

tabell (OJ $ SpecialMM)

0 1

897 173

Neste for å finne sannsynligheten

897/1070

(1) 0, 8383178

I neste trinn for en bedre prøve Å dele datasettet til trening og teste datasettet er en goo

bibliotek (caTools)

set.seed (88)

split = sample.split (OJ $ SpecialMM, SplitRatio = 0, 84)

Tatt i betraktning qt har et treningssett og qs har prøvesett prøvedata.

qt = subsett (OJ, split == TRUE)

qs = subsett (OJ, split == FALSE)

nrow (qt)

(1) 898

nrow (qs)

(1) 172

Derfor har vi 898 treningssett og 172 testprøver.

Neste ved å bruke Sammendrag () gir detaljene om avvik og koeffektive tabeller for regresjonsanalyse.

QualityLog = glm (SpecialMM ~ SalePriceMM + WeekofPurchase, data = qt, family = binomial)

sammendrag (QualityLog)

Produksjon:

Anrop:

glm (formel = SpesiellMM ~ SalgPris MM + Uke av kjøp, familie = binomial,

data = qt)

Avviksrester:

Min 1Q Median 3Q Maks

-1.2790 -0.4182 -0.3687 -0.2640 2.4284

koeffisienter:

Estimate Std. Feil z-verdi Pr (> | z |)

(Intercept) 2.910774 1.616328 1.801 0.07173.

SalgPrisMM -4.538464 0.405808 -11.184 <2e-16 ***

WeekofKjøp 0.015546 0.005831 2.666 0.00767 **

-

Null avvik: 794, 01 på 897 frihetsgrader

Restavvik: 636, 13 på 895 frihetsgrader

AIC: 642, 13

Antall Fisher-iterasjoner: 5

Fra analysen ovenfor sies det at koeffisienttabellen gir positive verdier for WeekofPurchase og de har minst to stjerner som antyder at de er de viktige kodene for modellen.

Prediksjonsteknikk:

Her skal vi bruke prediktiv Togfunksjon i denne R-pakken og gi sannsynligheter vi bruker argument som heter type = respons. La oss se prediksjonen brukt på treningssettet (qt). R spår utfallet i form av P (y = 1 | X) med grensesannsynlighet på 0, 5.

predictTrain = forutsi (QualityLog, type = ”respons”)

Sammendrag resulterer i en median, gjennomsnitt og min, maksverdier.

sammendrag (prediktor) Utførelse gir

Min. 1. kv. Median gjennomsnitt 3. kv. Maks.

0, 02192 0, 03342 0, 07799 0, 16147 0, 25395 0, 89038

tappe (prediktor, qt $ SpecialMM)

For å beregne gjennomsnittet for de sanne sannsynlighetene brukes tapply () -funksjonen.

tapply (predictTrain, qt $ SpecialMM, mener)

0 1

0, 1224444 0, 3641334

Derfor finner vi i utsagnet over at muligheten for ekte SpecialMM betyr verdi er0, 34 og for ekte dårlig verdi er 0, 12.

Beregning av terskelverdi:

hvis P er> T– er prediksjonen dårlig Spesiell MM

hvis P er

Klassifiseringsmatrise:

tabell (qt $ SpecialMM, predictTrain> 0.5)

USANN SANNHET

0 746 7

1 105 40

For å beregne følsomhet og spesifisitet

40/145

(1) 0, 2758621

746/753

(1) 0, 9907039

Testing set Prediction

prediktest = forutsi (QualityLog, type = “respons”, newdata = qs)

tabell (qs $ SpesiellMM, prediktest> = 0, 3)

USANN SANNHET

0 130 14

1 10 18

tabell (qs $ SpesiellMM, forutsi test> = 0, 5)

USANN SANNHET

0 140 4

1 18 10

Beregner nøyaktighet

150/172

(1) 0, 872093

Det er 172 tilfeller hvorav 144 er gode og 28 er dårlige.

Plotting av ROC-kurve:

Dette er det siste trinnet ved å plotte ROC-kurven for ytelsesmålinger. En god AUC-verdi bør være nærmere 1 og ikke 0, 5. Kontroller med sannsynlighetene 0, 5, 0, 7, 0, 2 for å forutsi hvordan terskelverdien øker og synker. Det gjøres ved å plotte terskelverdier samtidig i ROC-kurven. Et godt valg er å velge med tanke på høyere følsomhet.

Logistiske regresjonsteknikker

La oss se en implementering av logistikk ved bruk av R, da det gjør det veldig enkelt å montere modellen. Det er to typer teknikker:

  • Multinomial logistisk regresjon
  • Ordinal logistisk regresjon

Tidligere jobber med responsvariabler når de har mer enn eller lik to klasser. fungerer senere når ordren er betydelig.

Konklusjon

Derfor har vi lært den grunnleggende logikken bak regresjon sammen med at vi har implementert Logistic Regression på et bestemt datasett av R. En binomial eller binær regresjon måler kategoriske verdier av binære svar og prediktorvariabler. De spiller en viktig rolle i analyse der industrieksperter forventer å kjenne den lineære og logistiske regresjonen. De har sine egne utfordringer og i det praktiske eksemplet har vi gjort med trinnene om rengjøring av data, forbehandling. Til sammen har vi sett hvordan logistisk regresjon løser et problem med kategoriske utfall på en enkel og enkel måte.

Anbefalte artikler

Dette har vært en guide til Logistic Regression i R. Her diskuterer vi arbeidende, forskjellige teknikker og bred forklaring på forskjellige metoder som er brukt i Logistic Regression i R. Du kan også se på følgende artikler for å lære mer -

  1. Maskiner for læring av maskiner
  2. R vs Python
  3. Python-strengfunksjoner
  4. Er Python et skriptspråk
  5. Binomial distribusjon i R | syntax
  6. Regresjon vs klassifisering

Kategori: