Introduktion Logistisk regression i R

Logistisk regression i R også kendt som binære klassificeringsproblemer. De bruges til at forudsige et resultat som (1 eller 0 enten ja / nej) for en uafhængig variabel. For at forstå logistisk regression i R er det vigtigt at kende den grundlæggende lineære regression, arbejder med den kontinuerlige udgangsvariabel. Mere specifikt kan vi sige, at det er en udvidelse af lineær regression. I denne artikel skal vi diskutere forskellige metoder, der bruges til at beregne model og evaluering. Logistisk regression bruges til at løse klassificeringsproblemer i maskinlæring.

Hvordan fungerer logistisk regression i R?

Logistisk regression er en teknik, der anvendes inden for statistikfeltet, der måler forskellen mellem en afhængig og uafhængig variabel med vejledningen for logistisk funktion ved at estimere den forskellige forekomst af sandsynligheder. De kan enten være binomiale (har ja eller ikke noget resultat) eller multinomiale (fair vs. ringe meget dårlig). Sandsynlighedsværdierne ligger mellem 0 og 1, og variablen skal være positiv (<1). Det målretter mod den afhængige variabel og har følgende trin at følge:

  1. n.nr. af faste forsøg på et taget datasæt
  2. med to resultater forsøg
  3. resultatet af sandsynligheden skal være uafhængig af hinanden
  4. Sandsynligheden for succes og fiaskoer skal være den samme ved hver prøve.

I dette overvejer vi et eksempel ved at tage ISLR-pakken, som indeholder forskellige datasæt til træning. For at passe til modellen bruges her generaliseret lineær modelfunktion (glm). At opbygge en logistisk regression glm-funktion foretrækkes og får detaljerne om dem ved hjælp af et resume til analyseopgave.

Arbejdstrin:

Arbejdstrinene for logistisk regression følger visse begrebselementer som

  • Modellerer sandsynligheden eller foretager sandsynlighedsestimering
  • forudsigelse
  • Initialisering af tærskelværdi (høj eller lav specificitet)
  • Forvirringsmatrix
  • Plotteområdet under kurven (AUC)

eksempler

Herunder er nogle eksempler på logistisk regression i R:

Dataindlæsning:

Installation af ISLR-pakken.

kræve (ISLR)

Indlæser påkrævet pakke: ISLR

Til denne artikel bruger vi et datasæt 'Ugentlig' i RStudio. Datasættet indebærer en oversigt over det ugentlige lager fra 1990 til 2010.

kræve (ISLR)

navne (EFT)

Produktion:

(1) “Køb” “WeekofPurchase” “StoreID” “PriceCH”

(5) "PrisMM" "DiscCH" "DiscMM" "SpecialCH"

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

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

(17) ”ListPriceDiff” “STORE”

str (EFT)

Viser 1070 Observationer af 18 variabler.

Vores datasæt har 1070 observationer og 18 forskellige variabler. her har vi Special MM Og speciel CH har et afhængigt resultat. Lad os tage en speciel MM-attribut for at have en korrekt observation og en nøjagtighed på 84%.

tabel (EFT $ SpecialMM)

0 1

897 173

Næste for at finde sandsynligheden

897/1070

(1) 0, 8383178

I det næste trin for en bedre prøve At dele datasættet i trænings- og testdatasæt er en goo

bibliotek (caTools)

set.seed (88)

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

I betragtning af at qt har et træningssæt, og qs har testsæteksempeldata.

qt = delmængde (EFT, split == TRUE)

qs = delmængde (EFT, split == FALSE)

nrow (qt)

(1) 898

nrow (qs)

(1) 172

Derfor har vi 898 træningssæt og 172 testprøver.

Næste ved hjælp af Resume () giver detaljerne om afvigelse og koeffektive tabeller til regressionsanalyse.

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

Resumé (QualityLog)

Produktion:

Opkald:

glm (formel = SpecialMM ~ SalgsprisMM + Uge af køb, familie = binomial,

data = qt)

Afvigelsesrester:

Min 1Q Median 3Q Max

-1.2790 -0.4182 -0.3687 -0.2640 2.4284

koefficienter:

Estimate Std. Fejl z-værdi Pr (> | z |)

(Aflytning) 2.910774 1.616328 1.801 0.07173.

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

WeekofKøb 0.015546 0.005831 2.666 0.00767 **

-

Nul afvigelse: 794, 01 på 897 frihedsgrader

Restafvigelse: 636, 13 på 895 frihedsgrader

AIC: 642.13

Antal iterationer for Fisher-scoringer: 5

Fra ovenstående analyse siges det, at koefficienttabellen giver positive værdier for WeekofPurchase, og de har mindst to stjerner, hvilket antyder, at de er de betydelige koder for modellen.

Forudsigelsesteknik:

Her skal vi bruge forudsigelig togfunktion i denne R-pakke og tilvejebringe sandsynligheder for, at vi bruger argument kaldet type = respons. Lad os se den forudsigelse, der anvendes på træningssættet (qt). R forudsiger resultatet i form af P (y = 1 | X) med en grænse-sandsynlighed på 0, 5.

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

Resumé resulterer i en median, gennemsnit og min, maks. Værdier.

opsummering (forudsigelse af udførelse) Gørelse giver

Min. 1. kv. Medicinsk gennemsnit 3. kv. Max.

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

tryk let (forudseTrain, qt $ SpecialMM)

For at beregne gennemsnittet for de sande sandsynligheder anvendes tapply () -funktionen.

tapply (predictTrain, qt $ SpecialMM, middelværdi)

0 1

0, 1224444 0, 3641334

Derfor finder vi i ovenstående udsagn, at muligheden for ægte SpecialMM betyder værdi er0, 34 og for ægte dårlig værdi er 0, 12.

Beregning af tærskelværdi:

hvis P er> T– forudsigelse er dårlig Special MM

hvis P er

Klassificeringsmatrix:

tabel (qt $ SpecialMM, predictTrain> 0, 5)

FALSE sandt

0 746 7

1 105 40

At beregne følsomhed og specificitet

40/145

(1) 0, 2758621

746/753

(1) 0, 9907039

Test sæt Prediction

predictTest = forudsige (QualityLog, type = “respons”, newdata = qs)

tabel (qs $ SpecialMM, predictTest> = 0, 3)

FALSE sandt

0 130 14

1 10 18

tabel (qs $ SpecialMM, predictTest> = 0.5)

FALSE sandt

0 140 4

1 18 10

Beregning af nøjagtighed

150/172

(1) 0, 872093

Der er 172 tilfælde, hvoraf 144 er gode og 28 er fattige.

Plotter ROC-kurve:

Dette er det sidste trin ved at kortlægge ROC-kurven til måling af ydeevne. En god AUC-værdi skal være nærmere 1 ikke til 0, 5. Kontroller med sandsynlighederne 0, 5, 0, 7, 0, 2 for at forudsige, hvordan tærskelværdien stiger og falder. Det gøres ved at plotte tærskelværdier samtidig i ROC-kurven. Et godt valg er at vælge i betragtning af højere følsomhed.

Logistiske regressionsteknikker

Lad os se en implementering af logistik ved hjælp af R, da det gør det meget let at montere modellen. Der er to typer teknikker:

  • Multinomial logistisk regression
  • Ordinal logistisk regression

Tidligere arbejder med responsvariabler, når de har mere end eller lig med to klasser. senere fungerer, når ordren er betydelig.

Konklusion

Derfor har vi lært den grundlæggende logik bag regression sammen med at vi har implementeret Logistic Regression på et bestemt datasæt af R. En binomial eller binær regression måler kategoriske værdier af binære svar og prediktorvariabler. De spiller en vigtig rolle i analyse, hvor industrieksperter forventer at kende den lineære og logistiske regression. De har deres egne udfordringer, og i det praktiske eksempel har vi gjort med trinnene til datarengøring, forbehandling. Alt i alt har vi set, hvordan logistisk regression løser et problem med kategorisk resultat på en enkel og nem måde.

Anbefalede artikler

Dette har været en guide til logistisk regression i R. Her diskuterer vi arbejdet, forskellige teknikker og bred forklaring på forskellige metoder, der er anvendt i Logistic regression i R. Du kan også se på de følgende artikler for at lære mere -

  1. Rammer for maskinlæring
  2. R vs Python
  3. Python-strengfunktioner
  4. Er Python et scriptingsprog
  5. Binomial distribution i R | Syntaks
  6. Regression vs klassificering

Kategori: