Kuidas teostada logistilist regressiooni Pythonis?



Logistiline regressioon Pythonis, kasutades sklearni, et ennustada tulemust, määrates sõltuva ja ühe või mitme sõltumatu muutuja vahelise seose.

Logistiline regressioon Pythonis on ennustava analüüsi tehnika. Seda kasutatakse masinõppes ka binaarse klassifikatsiooni probleemide korral. Selles blogis vaatame Pythonis logistilise regressiooni mõistmiseks läbi järgmised teemad:

  1. Mis on regressioon?
  2. Logistiline regressioon Pythonis
  3. Logistiline regressioon vs lineaarne regressioon
  4. Kasuta kohtuasju
  5. Demonstratsioon

Parema mõistmise huvides võite tutvuda ka selle üksikasjaliku juhendiga logistilise regressiooni kohta Pythonis või tutvuda logistilise regressiooni valdamiseks.





Mis on regressioon?

analüüs on võimas statistilise analüüsi tehnika. A ülalpeetav meie huvi muutujat kasutatakse teiste väärtuste ennustamiseks sõltumatud muutujad andmekogumis.

Taandumisega puutume kokku intuitiivsel viisil. Nagu ilma ennustamine, kasutades mineviku ilmastikutingimuste andmekogumit.



Tulemuse analüüsimiseks ja ennustamiseks kasutatakse palju tehnikaid, kuid rõhk on peamiselt sellel suhe sõltuva muutuja ja ühe või mitme sõltumatu muutuja vahel.

analüüs ennustab tulemust binaarse muutujaga, millel on ainult kaks võimalikku tulemust.



Logistiline regressioon Pythonis

See on tehnika, mille abil saab analüüsida andmekogumit, millel on sõltuv muutuja ja üks või mitu sõltumatut muutujat, et ennustada kahendmuutuja tulemust, mis tähendab, et sellel on ainult kaks tulemust.

Sõltuv muutuja on kategooriline looduses. Sõltuvale muutujale viidatakse ka kui sihtmuutuja ja sõltumatuid muutujaid nimetatakse ennustajad .

Logistiline regressioon on lineaarse regressiooni erijuhtum, kus tulemust ennustame ainult kategoorilise muutujaga. See ennustab sündmuse tõenäosust logifunktsiooni abil.

Me kasutame Sigmoidfunktsioon / kõver kategoorilise väärtuse ennustamiseks. Läviväärtus otsustab tulemuse (võit / kaotus).

Lineaarse regressiooni võrrand: y = β0 + β1X1 + β2X2…. + βnXn

  • Y tähistab sõltuvat muutujat, mida tuleb ennustada.
  • β0 on Y-lõikepunkt, mis on põhimõtteliselt punkt sirgel, mis puudutab y-telge.
  • β1 on joone kalle (kalle võib olla negatiivne või positiivne, sõltuvalt sõltuva muutuja ja sõltumatu muutuja vahekorrast.)
  • X tähistab siin sõltumatut muutujat, mida kasutatakse meie tulemusest sõltuva väärtuse ennustamiseks.

Sigmoidfunktsioon: p = 1/1 + e-Y

Sigmoidfunktsiooni rakendamine lineaarse regressiooni võrrandile.

logistiline regressioon python-edurekas

Logistilise regressiooni võrrand: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Vaatame erinevaid logistilise regressiooni tüüpe.

Logistilise regressiooni tüübid

eksemplari muutuja Java näites
    • Binaarne logistiline regressioon - sellel on ainult kaks võimalikku tulemust. Näide - jah või ei
    • Multinomiaalne logistiline regressioon - sellel on kolm või enam nominaalset kategooriat. Näide - kass, koer, elevant.
    • Järjestuslik logistiline regressioon - sellel on kolm või enam järjestikukategooriat, mis tähendab, et kategooriad on järjestuses. Näide - kasutajate hinnangud (1–5).

Lineaarne Vs logistiline regressioon

Kuigi lineaarne regressioon võib olla lõpmatud võimalikud väärtused, logistiline regressioon on kindlad tulemused .

Lineaarset regressiooni kasutatakse juhul, kui reaktsioonimuutuja on pideva iseloomuga, kuid logistilist regressiooni kasutatakse siis, kui reaktsioonimuutuja on kategoorilist laadi.

Varasemate tehinguandmete abil panga makseviivituse ennustamine on näide logistilisest regressioonist, samas kui pidev väljund nagu aktsiaturu skoor on lineaarse regressiooni näide.

Kasuta kohtuasju

Järgnevalt on toodud kasutamisjuhud, kus saame kasutada logistilist regressiooni.

Ilmaprognoos

Ilmaprognoosid on loogilise taandarengu tulemus. Siin analüüsime eelmiste ilmateadete andmeid ja ennustame konkreetse päeva võimalikku tulemust. Kuid loogiline taandareng ennustaks ainult kategoorilisi andmeid, näiteks kas see sajab vihma või mitte.

Haiguse määramine

Me saamekasutamineloogiline taandareng patsiendi anamneesi abil, et ennustada, kas haigus on igal juhul positiivne või negatiivne.

Võimaldab logistilise regressiooni abil ennustusmudeli koostamiseks võtta näidisandmekomplekti.

Demo

Ehitame ennustusmudelikasutadesloogiline regressioon Pythonis abigakohtaandmekogum,selleskäsitleme järgmisi samme loogilise regressiooni saavutamiseks.

Andmete kogumine

Logistilise regressiooni rakendamise kõige esimene samm on andmete kogumine. Laadime andmekogumit sisaldava csv-faili pandade abil programmidesse. Kasutame NBA andmeid ennustusmudeli koostamiseks, et ennustada kodu- või võõrsilmängu võimalust, analüüsides asjakohaste andmete suhet.

impordi pandad kui pd impordi number nagu np impordi meresündinud kui sns import matplotlib.pyplot kui plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Analüüsi hõlbustamiseks saate kõik andmed loetavas vormingus. Ja siis saate määrata oma mudeli sõltuvad ja sõltumatud muutujad.

Andmete analüüsimine

Andmekogumit analüüsitakse muutujate vahelise seose kindlakstegemiseks. Luues muutujate vahelise seose kontrollimiseks erinevaid jooniseid.

sns.countplot ('Kodu', toon = 'WINorLOSS', andmed = df) plt.show ()

Eespool on suhe võidu / kaotuse protsent kodu- / võõrsilmängu suhtes. Ssarnaseltsaame koostada diagrammi teiste andmete asjakohaste kirjete vahelise seose kohta.

Andmete vingerdamine

Andmekomplekti muudetakse vastavalt sihtmuutujale. Me eemaldame DataFrame'ist ka kõik nullväärtused ja stringi väärtused.

print (df.isnull (). summa ())

Kontrollime kõiki ebaolulisi andmeid, näiteks nullväärtusi ja neid, mida prognoosimudeli loomisel ei nõuta. Kui meie kasutatavas NBA andmekogumis pole nullväärtusi, jätkame andmete jagamist.

Testimise ja rongi andmed

Mudeli toimimiseks jagatakse andmed katseandmeteks ja rongiandmeteks. Andmed jagatakse, kasutades rongi_testi_jagamine . Siinsed andmed on jagatud suhtega 70:30.

Nüüd mudeli ennustus logistilise regressiooni funktsioon rakendatakse logistilise regressiooni mudeli importimisega sklearn moodulisse.

Seejärel sobib mudel sobivuse funktsiooni abil rongikomplekti. Pärast seda tehakse ennustus, kasutades ennustusfunktsiooni.

lehelt sklearn.model_selection impordi rongitesti_split saidilt sklearn.linear_model import logistiline regressioon sklearn.metricsilt impordi klassifikatsiooni_aruanne sklearn.metricsilt impordi segaduse_maatriks, täpsuse_skoor x = df.drop ('kodu', telg = 1) y = df ['kodu'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) ennustused = logmodel.predict (x_test) print (klassifikatsiooni_aruande ennustus (y_t) print (segaduse_maatriks (y_test, ennustused)) print (täpsuse_skoor (y_test, ennustused))

tüüp casting java näide

Klassifikatsiooniaruanne:

Klassifikatsiooniaruandes kuvatakse Täpsus , Recall, F1 ja tugi hinded mudeli jaoks.

Täpsus skoor tähendab taset, mille ulatuses mudeli prognoos on täpne. Kodumängu täpsus on 0,62 ja võõrsilmäng on 0,58 .

Tagasikutsumine on summa, mille ulatuses saab mudel tulemust ennustada. Meenuta kodumängu on 0,57 ja võõrsil mäng on 0,64 . F1 ja tugiskoor on prognooside jaoks testitud andmete hulk. NBA andmekogumis on kodumängu jaoks testitud andmed 1662 ja võõrsilmäng on 1586 .

Segadusmaatriks:

Segadusmaatriks on tabel, mis kirjeldab ennustusmudeli toimivust. Segiajamise maatriks sisaldab tegelikke väärtusi ja ennustatud väärtusi. saame neid väärtusi kasutada mudeli täpsuse skoori arvutamiseks.

Segadusmaatriksi kuumakaart:

Võimaldab koostada segadusmaatriksi soojuskaardi, kasutades seaborn ja meie loodud ennustusmudeli visualiseerimiseks. Kuumakaardi koostamiseks on vajalik järgmine süntaks.

sns.heatmap (pd.DataFrame (segaduse_maatriks (y_test, ennustused))) plt.show ()

Kuumakaarti vaadates võime järeldada järgmist:

  • Kõigist prognoosidest ennustas klassifikaator jahutamist kokku 1730 korral, millest 1012 olid tegelikud jah.
  • kõigist ennustustest ennustas klassifikaator ära 1518 korda, millest 944 olid tegelikud.

Selle segiajamise maatriksi analüüsiga võime järeldada meie ennustusmudeli täpsuse skoori.

Täpsuse skoor:

Täpsuse skoor on mudeli prognooside täpsuse protsent. Meie mudeli täpsuse skoor on 0,60, mis on märkimisväärselt üsna täpne. Kuid mida täpsem skoor on, seda tõhusam on teie ennustusmudel. Parema ennustusmudeli jaoks peate alati püüdma kõrgema täpsuse skoori poole.

Järgides ülalkirjeldatud samme, oleme NBA andmestiku abil ennustanud kodu / võõrsil mängimise võimalust. Pärast klassifikatsiooniaruande analüüsimist võime eeldada kodu / võõrsil mängimise võimalust.

Selles blogis oleme arutanud logistilist regressiooni pythoni mõistetes, kuidas see erineb lineaarsest lähenemisviisist. Samuti oleme kajastanud demonstratsiooni, kasutades NBA andmekogumit. Lisateabe saamiseks ja harjutamiseks võite kasutada Pythonis logistilise regressiooni rakendamiseks valitud andmekogumit ja järgida arutatud samme.

Vaadake ka edureka platvormil olevaid erinevaid Data-Science ajaveebe, et endas andmeteadlast valdada.

Kui soovite õppida Pythoni ja luua karjääri andmeteaduses, vaadake meie interaktiivset veebipõhist otseülekannet siin on kaasas 24 * 7 tugi, mis juhendab teid kogu õppeperioodi vältel.
Kas teil on küsimus? Palun mainige seda kommentaarides ja me pöördume teie poole.