Ako vykonať logistickú regresiu v Pythone?



Logistická regresia v Pythone pomocou sklearnu na predpovedanie výsledku určením vzťahu medzi závislou a jednou alebo viacerými nezávislými premennými.

Logistická regresia v Pythone je technika prediktívnej analýzy. Používa sa tiež v strojovom učení na problémy s binárnou klasifikáciou. V tomto blogu si prejdeme nasledujúce témy, aby sme pochopili logistickú regresiu v Pythone:

  1. Čo je regresia?
  2. Logistická regresia v Pythone
  3. Logistická regresia vs lineárna regresia
  4. Prípady použitia
  5. Ukážka

Môžete tiež odkázať na tento podrobný návod o logistickej regresii v jazyku python s ukážkou pre lepšie pochopenie alebo si prečítať zvládnuť logistickú regresiu.





Čo je regresia?

analýza je výkonná metóda štatistickej analýzy. A závislý premenná nášho záujmu sa používa na predpovedanie hodnôt ostatných nezávislé premenné v súbore údajov.

S regresiou sa neustále stretávame intuitívne. Rovnako ako predpovedanie počasia pomocou súboru údajov o poveternostných podmienkach v minulosti.



Na analýzu a predpovedanie výsledku využíva mnoho techník, ale dôraz sa kladie predovšetkým na vzťah medzi závislou premennou a jednou alebo viacerými nezávislými premennými.

analýza predpovedá výsledok v binárnej premennej, ktorá má iba dva možné výsledky.



Logistická regresia v Pythone

Je to technika na analýzu súboru údajov, ktorý má závislú premennú a jednu alebo viac nezávislých premenných na predikciu výsledku v binárnej premennej, čo znamená, že bude mať iba dva výsledky.

Závislá premenná je kategorický v prírode. Závislá premenná sa označuje aj ako cieľová premenná a nezávislé premenné sa nazývajú prediktory .

Logistická regresia je špeciálny prípad lineárnej regresie, keď výsledok predvídame iba v kategorickej premennej. Predpovedá pravdepodobnosť udalosti pomocou funkcie denníka.

Používame Funkcia / krivka sigmoidu predpovedať kategorickú hodnotu. O výsledku rozhoduje prahová hodnota (výhra / prehra).

Rovnica lineárnej regresie: y = β0 + β1X1 + β2X2…. + βnXn

  • Y znamená závislú premennú, ktorú je potrebné predvídať.
  • β0 je priesečník Y, ktorý je v podstate bodom na čiare, ktorá sa dotýka osi y.
  • β1 je sklon priamky (sklon môže byť negatívny alebo pozitívny v závislosti od vzťahu medzi závislou premennou a nezávislou premennou.)
  • X tu predstavuje nezávislú premennú, ktorá sa používa na predikciu našej výslednej závislej hodnoty.

Funkcia sigmoidu: p = 1/1 + e-Y

Aplikujte sigmoidnú funkciu na rovnicu lineárnej regresie.

logistická regresia v python-edureka

Logistická regresná rovnica: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Pozrime sa na rôzne typy logistickej regresie.

Typy logistickej regresie

čo robí varovanie v JavaScripte
    • Binárna logistická regresia - má iba dva možné výsledky. Príklad- áno alebo nie
    • Multinomická logistická regresia - má tri alebo viac nominálnych kategórií. Príklad - mačka, pes, slon.
    • Ordinálna logistická regresia - má tri alebo viac radových kategórií, poradový význam znamená, že kategórie budú v poradí. Príklad - hodnotenie používateľov (1 - 5).

Lineárna vs logistická regresia

Zatiaľ čo lineárna regresia môže mať nekonečné možné hodnoty, logistická regresia má konečné výsledky .

Lineárna regresia sa používa, keď má premenná odozvy spojitú povahu, ale logistická regresia sa používa, keď má premenná odozvy kategorický charakter.

Predikcia neplatiča v banke pomocou údajov o transakcii v minulosti je príkladom logistickej regresie, zatiaľ čo nepretržitý výstup, ako je skóre na akciovom trhu, je príkladom lineárnej regresie.

Prípady použitia

Nasledujú prípady použitia, keď môžeme použiť logistickú regresiu.

Predpoveď počasia

Predpovede počasia sú výsledkom logickej regresie. Tu analyzujeme údaje z predchádzajúcich správ o počasí a predpovedáme možné výsledky pre konkrétny deň. Logická regresia by však predpovedala iba kategorické údaje, napríklad či bude pršať alebo nie.

Určenie choroby

Môžemepoužitielogická regresia pomocou anamnézy pacienta na predpovedanie, či je choroba v každom prípade pozitívna alebo negatívna.

Umožňuje vytvoriť vzorový súbor údajov a vytvoriť tak model predikcie pomocou logistickej regresie.

Ukážka

Budeme stavať predikčný modelpoužitímlogická regresia v Pythone s pomocouzmnožina údajov,v tomtoideme pokryť nasledujúce kroky na dosiahnutie logickej regresie.

Zhromažďovanie údajov

Úplne prvým krokom k implementácii logistickej regresie je zber údajov. Načítame súbor csv obsahujúci množinu údajov do programov pomocou pandy. Na zostavenie predikčného modelu používame údaje NBA na predpovedanie možnosti domácej hry alebo hry vonku analýzou vzťahu medzi relevantnými údajmi.

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

Všetky údaje získate v čitateľnom formáte pre ľahšiu analýzu. A potom môžete určiť závislé a nezávislé premenné pre váš model.

Analýza údajov

Súbor údajov sa analyzuje s cieľom určiť vzťah medzi premennými. Vytvorením rôznych grafov na kontrolu vzťahu medzi premennými.

sns.countplot ('Domov', odtieň = 'WINorLOSS', data = df) plt.show ()

Vyššie uvedený je vzťah medzi percentom výhier / prehier vo vzťahu k zápasu doma / vonku. Spodobnemôžeme vykresliť graf vzťahu medzi ostatnými relevantnými položkami v dátach.

Hádanie údajov

Súbor údajov sa upravuje podľa cieľovej premennej. Z DataFrame vylúčime všetky nulové hodnoty a hodnoty reťazcov.

print (df.isnull (). sum ())

Skontrolujeme všetky irelevantné údaje, ako sú nulové hodnoty a hodnoty, ktoré sa pri zostavovaní predikčného modelu nebudú vyžadovať. Ak v datasete NBA, ktorý používame, nie sú žiadne nulové hodnoty, pristúpime k rozdeleniu údajov.

Údaje o testovaní a výcviku

Pre výkon modelu sa údaje rozdelia na údaje o teste a údaje o vlaku. Dáta sa delia pomocou train_test_split . Údaje sú tu rozdelené v pomere 70:30.

Teraz, pre predikcia modelu funkcia logistickej regresie sa implementuje importom modelu logistickej regresie do modulu sklearn.

Potom sa model namontuje na vlakovú súpravu pomocou funkcie prispôsobenia. Potom sa predikcia uskutoční pomocou funkcie predikcie.

zo sklearn.model_selection import train_test_split zo sklearn.linear_model import LogisticRegression zo sklearn.metrics import klasifikačná_report zo sklearn.metrics import confusion_matrix, přesnosť_skóre x = df.drop ('Domov', os = 1) y = df ['Domov'] 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) predpovede = logmodel.predict (x_test) print (classification_report, y_test, yi) print (confusion_matrix (y_test, predictions)) print (precision_score (y_test, predictions))

Správa o klasifikácii:

V správe o klasifikácii sa zobrazuje Presnosť , Pripomeňme, F1 a Podpora skóre pre model.

Presnosť skóre znamená úroveň, do ktorej je presná predpoveď modelu. Presnosť domáceho zápasu je 0,62 a hra vonku je 0,58 .

Pripomeňme je suma, do ktorej môže model predvídať výsledok. Pripomenutie pre domáci zápas je 0,57 a hra vonku je 0,64 . Skóre F1 a Podpora predstavuje množstvo údajov testovaných na predpovede. V súbore údajov NBA sú údaje testované pre domácu hru 1662 a hra vonku je 1586 .

Zmätková matica:

Matica zmätku je tabuľka, ktorá popisuje výkon predikčného modelu. Zmätková matica obsahuje skutočné hodnoty a predpokladané hodnoty. tieto hodnoty môžeme použiť na výpočet skóre presnosti modelu.

Tepelná mapa zmätkovej matice:

Umožňuje nakresliť tepelnú mapu matice zmätku pomocou Seaborn a vizualizovať predikčný model, ktorý sme vytvorili. Na vytvorenie teplotnej mapy je nevyhnutná nasledujúca syntax.

sns.heatmap (pd.DataFrame (confusion_matrix (y_test, predictions))) plt.show ()

Pri pohľade na teplotnú mapu môžeme uzavrieť nasledujúce:

  • Zo všetkých predpovedí predpovedal klasifikátor áno celkovo 1730-krát, z toho 1012 bolo skutočných áno.
  • zo všetkých predpovedí klasifikátor predpovedal nie celkovo 1518-krát, z toho 944 bolo skutočných č.

Pomocou tejto analýzy matice zmätku môžeme uzavrieť skóre presnosti nášho predikčného modelu.

Skóre presnosti:

Skóre presnosti je percento presnosti predpovedí vykonaných modelom. Pre náš model je skóre presnosti 0,60, čo je značne dosť presné. Ale čím viac skóre presnosti, tým efektívnejší je váš predikčný model. Pre lepší predikčný model sa musíte vždy snažiť o vyššie skóre presnosti.

mongodb vytvoriť užívateľa pre databázu

Podľa krokov popísaných vyššie sme predpovedali možnosť hry doma / vonku s využitím súboru údajov NBA. Po analýze správy o klasifikácii môžeme predpokladať možnosť hry doma / vonku.

V tomto blogu sme diskutovali o logistickej regresii v konceptoch pythonu, v čom sa líši od lineárneho prístupu. Uviedli sme tiež ukážku pomocou súboru údajov NBA. Pre ďalšie pochopenie a precvičenie môžete použiť dataset podľa vášho výberu a podľa uvedených pokynov implementovať logistickú regresiu v Pythone.

Skontrolujte tiež rôzne blogy o Data Science v platforme edureka, aby ste vo vás zvládli dátového vedca.

Ak sa chcete naučiť Python a budovať si kariéru v oblasti dátovej vedy, pozrite si náš interaktívny online prenos tu je dodávaná s podporou 24 * 7, ktorá vás prevedie celým vzdelávacím obdobím.
Máte otázku? Uveďte to prosím v komentároch a my sa vám ozveme.