Introducere Regresie logistică în R

Regresia logistică în R cunoscută și sub denumirea de probleme de clasificare binară. Sunt utilizate pentru a prezice un rezultat ca (1 sau 0, da / nu) pentru o variabilă independentă. Pentru a înțelege regresia logistică în R, este important să cunoaștem regresia liniară de bază, funcționează cu variabila de rezultat continuu. Mai precis putem spune că este o extensie a regresiei liniare. În acest articol, vom discuta despre diferitele metode utilizate pentru calcularea modelului și evaluării. Regresia logistică este utilizată pentru rezolvarea problemelor de clasificare în învățarea mașinii.

Cum funcționează Regresia logistică în R?

Regresia logistică este o tehnică folosită în domeniul statisticilor care măsoară diferența dintre o variabilă dependentă și independentă cu ghidul funcției logistice prin estimarea apariției diferite a probabilităților. Ele pot fi fie binomiale (au rezultatul da sau nu) sau multinomiale (corect, sărac, foarte sărac). Valorile probabilității sunt cuprinse între 0 și 1, iar variabila ar trebui să fie pozitivă (<1). Vizează variabila dependentă și urmează următorii pași:

  1. n- nr.de încercări fixe pe un set de date luat
  2. cu două rezultate proces
  3. rezultatul probabilității ar trebui să fie independent unul de celălalt
  4. Probabilitatea de succes și eșecuri trebuie să fie aceeași la fiecare încercare.

În acest caz, avem în vedere un exemplu luând pachetul ISLR, care oferă diverse seturi de date pentru instruire. Pentru a se potrivi modelului, aici se folosește funcția generală a modelului liniar (glm). Pentru a construi o regresie logistică funcția glm este preferată și primește detaliile acestora folosind un rezumat pentru sarcina de analiză.

Pași de lucru:

Pașii de lucru asupra regresiei logistice urmăresc anumite elemente ale termenului, cum ar fi

  • Modelarea probabilității sau realizarea estimării probabilității
  • prezicere
  • Inițializarea valorii pragului (specificitate înaltă sau scăzută)
  • Matrice de confuzie
  • Zona de trasare sub curbă (ASC)

Exemple

Mai jos sunt câteva exemple de regresie logistică în R:

Încărcare de date:

Instalarea pachetului ISLR.

necesită (ISLR)

Se încarcă pachetul necesar: ISLR

Pentru acest articol, vom folosi un set de date „Săptămânal” în RStudio. Setul de date implică detaliile sumare ale stocului săptămânal din 1990 până în 2010.

necesită (ISLR)

numele (JO)

ieşire:

(1) „Cumpărare” „WeekofPurchase” „StoreID” „PriceCH”

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

(9) „SpecialMM” „LoialCH” „SalePriceMM” „SalePriceCH”

(13) „PriceDiff” „Magazin7” „PctDiscMM” „PctDiscCH”

(17) „ListPriceDiff” „MAGAZIN”

str (JO)

Prezintă 1070 de observații a 18 variabile.

Setul nostru de date conține 1070 de observații și 18 variabile diferite. aici avem Special MM Și CH special are un rezultat dependent. Să luăm un atribut MM special pentru a avea o observație corectă și o precizie de 84%.

tabel (JO $ SpecialMM)

0 1

897 173

În continuare pentru a găsi probabilitatea

897/1070

(1) 0, 8383178

În pasul următor pentru un eșantion mai bun Împărțirea setului de date în formare și testarea setului de date este un lucru bun

bibliotecă (caTools)

set.seed (88)

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

Considerând qt are un set de instruire și qs are date de probă set de test.

qt = subset (OJ, divizat == TRUE)

qs = subset (OJ, divizat == FALSE)

nrow (qt)

(1) 898

nrow (qs)

(1) 172

Prin urmare, avem 898 set de instruire și 172 de probe de testare.

Următorul folosind Rezumatul () oferă detaliile devianței și tabelelor co-eficiente pentru analiza regresiei.

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

rezumat (QualityLog)

ieşire:

Apel:

glm (formula = SpecialMM ~ SalePriceMM + WeekofPurchase, family = binomial,

date = qt)

Reziduuri pentru devianță:

Min. 1 Q Median 3Q Max

-1.2790 -0.4182 -0.3687 -0.2640 2.4284

coeficienţi:

Stimate Std. Valoarea eroare z Pr (> | z |)

(Interceptare) 2.910774 1.616328 1.801 0.07173.

Vânzare PrețMM -4.538464 0.405808 -11.184 <2e-16 ***

Săptămâna achiziției 0, 015546 0, 005831 2, 666 0, 00767 **

-

Abatere nulă: 794.01 pe 897 grade de libertate

Abatere reziduală: 636.13 pe 895 grade de libertate

AIC: 642.13

Numărul de iterații cu punctaj pentru pescuit: 5

Din analiza de mai sus, se spune că tabelul de coeficienți oferă valori pozitive pentru WeekofPurchase și au cel puțin două stele, ceea ce implică că sunt codurile semnificative ale modelului.

Tehnica de predicție:

Aici vom folosi funcția de Previziune Tren în acest pachet R și vom oferi probabilitățile pe care le folosim argumentul numit tip = răspuns. Să vedem predicția aplicată setului de antrenament (qt). R prezice rezultatul sub forma lui P (y = 1 | X) cu probabilitatea de graniță de 0, 5.

predictTrain = predict (QualityLog, type = "răspuns")

Rezumatul are ca rezultat valori mediane, medii și minime, max.

sumar (predictTrain) Execuția dă

Min. Primul Qu.Median Mijlocul III Qu.Max.

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

tapply (predictTrain, qt $ SpecialMM)

Pentru a calcula media pentru probabilitățile reale se folosește funcția tapply ().

tapply (predictTrain, qt $ SpecialMM, medie)

0 1

0.1224444 0.3641334

Prin urmare, aflăm în afirmația de mai sus că posibilitatea unui SpecialMM adevărat înseamnă valoare este 0, 0 și pentru valoarea adevărată slabă este 0, 12.

Calcularea valorii pragului:

dacă P este> T - predicția este slabă MM Special

dacă P este

Matricea de clasificare:

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

FALS ADEVARAT

0 746 7

1 105 40

Pentru calcularea sensibilității și specificității

40/145

(1) 0.2758621

746/753

(1) 0, 9907039

Set de testare Predicție

predictTest = predict (QualityLog, type = "răspuns", newdata = qs)

tabel (qs $ SpecialMM, predictTest> = 0.3)

FALS ADEVARAT

0 130 14

1 10 18

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

FALS ADEVARAT

0 140 4

1 18 10

Calcularea exactității

150/172

(1) 0.872093

Există 172 de cazuri din care 144 sunt bune și 28 sunt sărace.

Trasarea curbei ROC:

Acesta este ultimul pas prin trasarea curbei ROC pentru măsurători de performanță. O valoare bună a ASC trebuie să fie mai apropiată de 1 până la 0, 5. Verificarea cu probabilitățile 0, 5, 0, 7, 0, 2 pentru a prezice cum crește și scade valoarea pragului. Se realizează prin trasarea simultană a valorilor pragului în curba ROC. O alegere bună este alegerea luând în considerare o sensibilitate mai mare.

Tehnici de regresie logistică

Să vedem o implementare a logisticii folosind R, deoarece face foarte ușor să se potrivească modelului. Există două tipuri de tehnici:

  • Regresie logistică multinomială
  • Regresie logistică ordinală

Fostii funcționează cu variabile de răspuns atunci când au mai mult sau egal cu două clase. mai târziu funcționează atunci când comanda este semnificativă.

Concluzie

Prin urmare, am învățat logica de bază din spatele regresiei, alături de am implementat Regresia logistică pe un anumit set de date al R. Un regres binomial sau binar măsoară valorile categorice ale răspunsurilor binare și ale variabilelor predictoare. Acestea joacă un rol vital în analiză, în care experții din industrie se așteaptă să cunoască regresia liniară și logistică. Ei au propriile provocări și, în exemplul practic, am făcut-o cu pașii privind curățarea datelor, pre-procesare. În total, am observat cum regresia logistică rezolvă o problemă a rezultatului categoric într-un mod simplu și simplu.

Articole recomandate

Acesta a fost un ghid al regresiei logistice în R. Aici vom discuta despre tehnicile de lucru, diferite și explicații ample asupra diferitelor metode utilizate în regresia logistică în R. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Cadre de învățare automată
  2. R vs Python
  3. Funcții cu coarde Python
  4. Python este un limbaj de script
  5. Distribuția binomială în R | Sintaxă
  6. Regresie vs Clasificare

Categorie: