Kako izvesti logističku regresiju u Pythonu?



Logistička regresija u Pythonu pomoću sklearna za predviđanje ishoda određivanjem odnosa između ovisnih i jedne ili više neovisnih varijabli.

Logistička regresija u Pythonu tehnika je prediktivne analize. Također se koristi u strojnom učenju za probleme binarne klasifikacije. Na ovom ćemo blogu proći kroz sljedeće teme kako bismo razumjeli logističku regresiju u Pythonu:

  1. Što je regresija?
  2. Logistička regresija u Pythonu
  3. Logistička regresija vs Linearna regresija
  4. Koristite slučajeve
  5. Demonstracija

Također možete uputiti ovaj detaljni vodič o logističkoj regresiji u pythonu s demonstracijom radi boljeg razumijevanja ili proći kroz svladati logističku regresiju.





Što je regresija?

analiza je moćna tehnika statističke analize. A ovisna varijabla našeg interesa koristi se za predviđanje vrijednosti drugih neovisne varijable u skupu podataka.

Regresiju nailazimo na intuitivan način cijelo vrijeme. Poput predviđanja vremena pomoću skupa podataka o vremenskim prilikama u prošlosti.



Koristi mnoge tehnike za analizu i predviđanje ishoda, ali naglasak je uglavnom na odnos između ovisne varijable i jedne ili više neovisnih varijabli.

analiza predviđa ishod u binarnoj varijabli koja ima samo dva moguća ishoda.



Logistička regresija u Pythonu

To je tehnika za analizu skupa podataka koji ima ovisnu varijablu i jednu ili više neovisnih varijabli za predviđanje ishoda u binarnoj varijabli, što znači da će imati samo dva ishoda.

Ovisna varijabla je kategoričan u prirodi. Ovisna varijabla također se naziva ciljana varijabla a neovisne varijable nazivaju se prediktori .

Logistička regresija poseban je slučaj linearne regresije gdje ishod predviđamo samo u kategorijskoj varijabli. Predviđa vjerojatnost događaja pomoću funkcije dnevnika.

Koristimo Sigmoidna funkcija / krivulja za predviđanje kategorijalne vrijednosti. Vrijednost praga odlučuje o ishodu (pobjeda / poraz).

Jednadžba linearne regresije: y = β0 + β1X1 + β2X2…. + βnXn

  • Y označava zavisnu varijablu koju treba predvidjeti.
  • β0 je presjek Y, što je u osnovi točka na liniji koja dodiruje os y.
  • β1 je nagib crte (nagib može biti negativan ili pozitivan, ovisno o odnosu između ovisne varijable i neovisne varijable.)
  • X ovdje predstavlja neovisnu varijablu koja se koristi za predviđanje naše rezultirajuće ovisne vrijednosti.

Sigmoidna funkcija: p = 1/1 + e-Da

Primijenite sigmoidnu funkciju na jednadžbu linearne regresije.

logistička regresija u python-edureka

Jednadžba logističke regresije: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Pogledajmo različite tipove logističke regresije.

Vrste logističke regresije

datum tipa podataka u sql
    • Binarna logistička regresija - ima samo dva moguća ishoda. Primjer- da ili ne
    • Multinomna logistička regresija - ima tri ili više nominalnih kategorija. Primjer - mačka, pas, slon.
    • Redovna logistička regresija - ima tri ili više rednih kategorija, što znači da će kategorije biti poredane. Primjer- ocjene korisnika (1-5).

Linearna vs logistička regresija

Dok linearna regresija može imati beskonačno moguće vrijednosti, logistička regresija ima definitivni ishodi .

Linearna regresija koristi se kada je varijabla odgovora kontinuirane prirode, ali logistička regresija koristi se kada je varijabla odgovora kategoričke prirode.

Predviđanje neplatiša u banci koristeći detalje transakcije u prošlosti je primjer logističke regresije, dok je kontinuirani izlaz poput stanja na burzi primjer linearne regresije.

Koristite slučajeve

Slijede slučajevi upotrebe u kojima možemo koristiti logističku regresiju.

Prognoza vremena

Vremenska predviđanja rezultat su logičke regresije. Ovdje analiziramo podatke iz prethodnih vremenskih izvještaja i predviđamo mogući ishod za određeni dan. Ali logična regresija samo bi predvidjela kategoričke podatke, poput toga hoće li kiša padati ili ne.

Utvrđivanje bolesti

Možemokoristitilogička regresija uz pomoć povijesti bolesti pacijenta kako bi se predvidjelo je li bolest u svakom slučaju pozitivna ili negativna.

Uzmimo uzorak skupa podataka za izgradnju modela predviđanja koristeći logističku regresiju.

Demo

Izgradit ćemo model predviđanjakoristećilogička regresija u Pythonu uz pomoćodskup podataka,u ovomepokriti ćemo sljedeće korake za postizanje logičke regresije.

Prikupljanje podataka

Prvi korak za provedbu logističke regresije je prikupljanje podataka. CSV datoteku koja sadrži skup podataka učitat ćemo u programe pomoću pandi. NBA podatke koristimo za izgradnju modela predviđanja za predviđanje mogućnosti domaće utakmice ili utakmice u gostima, analizirajući odnos između relevantnih podataka.

import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Dobit ćete sve podatke u čitljiv format za lakšu analizu. A zatim možete odrediti ovisne i neovisne varijable za svoj model.

Analiziranje podataka

Skup podataka analizira se kako bi se utvrdio odnos između varijabli. Stvaranjem različitih grafikona za provjeru odnosa između varijabli.

sns.countplot ('Početna', hue = 'WINorLOSS', data = df) plt.show ()

Iznad je odnos između postotka pobjeda i poraza u odnosu na utakmicu kod kuće / u gostima. Spodjednakomožemo ucrtati grafikon odnosa između ostalih relevantnih unosa u podacima.

Prepirka podataka

Skup podataka izmijenjen je u skladu s ciljnom varijablom. Uklonit ćemo sve null vrijednosti i vrijednosti niza iz DataFrame-a.

ispis (df.isnull (). sum ())

Provjerit ćemo ima li irelevantnih podataka poput null vrijednosti i vrijednosti koje neće biti potrebne tijekom izgradnje modela predviđanja. Ako u NBA skupu podataka koji koristimo nema null vrijednosti, nastavit ćemo s dijeljenjem podataka.

Podaci o testiranju i treniranju

Za izvedbu modela podaci se dijele na podatke o ispitivanju i podatke o vlaku. Podaci se dijele pomoću vlak_test_split . Podaci su ovdje podijeljeni u omjeru 70:30.

Sada, za predviđanje modela funkcija logističke regresije provodi se uvozom modela logističke regresije u modul sklearn.

Model se zatim stavi u garnituru vlaka pomoću funkcije pristajanja. Nakon toga predviđanje se izvodi pomoću funkcije predviđanja.

dopuštaju vam metode klase skenera
iz sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import logistics_report from sklearn.metrics import confusion_matrix, дакладнаst_score x = df.drop ('Početna', os = 1) y = df ['Početna'] x_train, x_test, y_train, y_test = vlak_test_split (x, y, test_size = 0,33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) predviđanja = logmodel.predict (x_test) print (klasifikacija_izvještaja (y_test, predviđanja)) ispis (matrica_zabunjivanja (y_test, predviđanja)) print (rezultat_točnosti (y_test, predviđanja))

Izvještaj o klasifikaciji:

Izvješće o klasifikaciji prikazuje Preciznost , Podsjetimo, F1 i podrška bodovi za model.

Preciznost rezultat znači razinu do koje je predviđanje modela precizno. Preciznost za domaću utakmicu je 0,62 a za gostujuću utakmicu je 0,58 .

Podsjetiti je iznos do kojeg model može predvidjeti ishod. Podsjetimo za domaću utakmicu je 0,57 a za utakmicu u gostima je 0,64 . Rezultati F1 i Podrška količina su podataka testiranih za predviđanja. U NBA skupu podataka podaci koji su testirani za domaću utakmicu su 1662 a za gostujuću utakmicu je 1586 .

Matrica zbrke:

Matrica zbrke je tablica koja opisuje izvedbu modela predviđanja. Matrica zbrke sadrži stvarne vrijednosti i predviđene vrijednosti. te vrijednosti možemo koristiti za izračunavanje ocjene točnosti modela.

Mapa topline zbunjujuće matrice:

Nacrtajmo toplinsku kartu matrice zbrke koristeći Seaborn i da vizualiziramo model predviđanja koji smo izgradili. Za crtanje toplotne karte potrebna je sljedeća sintaksa.

sns.heatmap (pd.DataFrame (confusion_matrix (y_test, predviđanja))) plt.show ()

Uvidom u toplinsku kartu možemo zaključiti sljedeće:

  • Od svih predviđanja, klasifikator je predvidio da za ukupno 1730 puta, od čega je 1012 bilo stvarno da.
  • od svih predviđanja klasifikator je predvidio ne za ukupno 1518 puta, od čega je 944 stvarno.

Ovom analizom matrice zbrke možemo zaključiti ocjenu točnosti za naš model predviđanja.

Ocjena točnosti:

Ocjena točnosti je postotak točnosti predviđanja modela. Za naš model ocjena točnosti je 0,60, što je prilično prilično točno. No, što je više točnosti rezultata, učinkovit je vaš model predviđanja. Uvijek morate težiti većoj ocjeni točnosti za bolji model predviđanja.

Slijedom gore opisanih koraka predvidjeli smo mogućnost igranja doma / gosta pomoću NBA skupa podataka. Nakon analize izvješća o klasifikaciji možemo pretpostaviti mogućnost utakmice doma / gosta.

U ovom smo blogu raspravljali o logističkoj regresiji u konceptima pythona, po čemu se ona razlikuje od linearnog pristupa. Također, pokrili smo demonstraciju pomoću NBA skupa podataka. Za više uvida i prakse možete upotrijebiti skup podataka po vašem izboru i slijediti raspravljene korake za implementaciju logističke regresije u Pythonu.

Također, pogledajte različite blogove Data-Science na platformi edureka kako biste ovladali znanstvenikom podataka u sebi.

Ako želite naučiti Python i izgraditi karijeru u znanosti o podacima, pogledajte našu interaktivnu mrežu uživo ovdje dolazi s podrškom 24 * 7 koja će vas voditi kroz čitavo razdoblje učenja.
Imate pitanje? Molimo vas da to spomenete u komentarima i javit ćemo vam se.