Kaip atlikti logistinę regresiją „Python“?



Logistinė regresija sistemoje „Python“, naudojant „sklearn“, siekiant numatyti rezultatą nustatant priklausomybės ir vieno ar daugiau nepriklausomų kintamųjų santykį.

Logistinė regresija „Python“ yra nuspėjamosios analizės technika. Jis taip pat naudojamas mašininiuose mokymuose, sprendžiant dvejetainio klasifikavimo problemas. Šiame tinklaraštyje mes apžvelgsime šias temas, kad suprastume logistinę regresiją „Python“:

  1. Kas yra regresija?
  2. Logistinė regresija „Python“
  3. Logistinė regresija ir tiesinė regresija
  4. Naudojimo atvejai
  5. Demonstracija

Taip pat galite kreiptis į šią išsamią logistinės regresijos „Python“ pamoką su demonstracija, kad geriau suprastumėte, arba pereiti įvaldyti logistinę regresiją.





Kas yra regresija?

analizė yra galinga statistinės analizės technika. A priklausomas mūsų dominantis kintamasis naudojamas numatyti kitų vertes nepriklausomi kintamieji duomenų rinkinyje.

Su regresija visą laiką susiduriame intuityviai. Kaip ir prognozuoti orą, naudojant duomenų apie praeities oro sąlygas rinkinį.



Analizuojant ir prognozuojant rezultatą naudojama daugybė metodų, tačiau daugiausia dėmesio skiriama ryšys tarp priklausomo kintamojo ir vieno ar daugiau nepriklausomų kintamųjų.

analizė prognozuoja rezultatą dvejetainiu kintamuoju, kuris turi tik du galimus rezultatus.



Logistinė regresija „Python“

Tai yra duomenų rinkinio, kuriame yra priklausomas kintamasis ir vienas ar daugiau nepriklausomų kintamųjų, analizės metodas, kad būtų galima prognozuoti dvejetainio kintamojo rezultatą, o tai reiškia, kad jis turės tik du rezultatus.

Priklausomas kintamasis yra kategoriškas gamtoje. Priklausomas kintamasis taip pat vadinamas tikslinis kintamasis o nepriklausomi kintamieji vadinami nuspėti .

Logistinė regresija yra specialus tiesinės regresijos atvejis, kai rezultatą numatome tik kategoriniu kintamuoju. Jis numato įvykio tikimybę naudodamas žurnalo funkciją.

Mes naudojame Sigmoidinė funkcija / kreivė nuspėti kategorinę vertę. Ribinė vertė lemia rezultatą (laimėti / pralaimėti).

Tiesinės regresijos lygtis: y = β0 + β1X1 + β2X2…. + βnXn

  • Y reiškia priklausomą kintamąjį, kurį reikia numatyti.
  • β0 yra Y perėmimas, kuris iš esmės yra tiesės taškas, paliečiantis y ašį.
  • β1 yra tiesės nuolydis (nuolydis gali būti neigiamas arba teigiamas, priklausomai nuo priklausomo kintamojo ir nepriklausomo kintamojo santykio.)
  • X reiškia nepriklausomą kintamąjį, kuris naudojamas prognozuoti mūsų priklausomą vertę.

Sigmoidinė funkcija: p = 1/1 + e-Y

Taikykite sigmoidinę funkciją tiesinės regresijos lygtyje.

logistinė regresija pitone-edurekoje

Logistinės regresijos lygtis: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Pažvelkime į skirtingas logistinės regresijos rūšis.

Logistinės regresijos tipai

java skirtumas tarp metimo ir metimo
    • Dvejetainė logistinė regresija - ji turi tik du galimus rezultatus. Pavyzdys - taip arba ne
    • Daugialypė logistinė regresija - ji turi tris ar daugiau vardinių kategorijų. Pavyzdys - katė, šuo, dramblys.
    • Eilinė logistinė regresija - ji turi tris ar daugiau eilės kategorijų, o eilės reikšmė reiškia, kad kategorijos bus eilės tvarka. Pavyzdys - vartotojų įvertinimai (1–5).

Linijinė Vs logistinė regresija

Nors tiesinė regresija gali turėti begalinis galimas vertybes, logistinė regresija turi apibrėžti rezultatai .

Linijinė regresija naudojama, kai atsako kintamasis yra tęstinio pobūdžio, tačiau logistinė regresija naudojama, kai atsako kintamasis yra kategorinio pobūdžio.

Numatyti įsipareigojimų neįvykdymą banke, naudojant praeities detales apie sandorius, yra logistinės regresijos pavyzdys, o nuolatinė produkcija, tokia kaip akcijų rinkos balas, yra linijinės regresijos pavyzdys.

Naudojimo atvejai

Toliau pateikiami naudojimo atvejai, kai galime naudoti logistinę regresiją.

Orų prognozavimas

Orų prognozės yra loginės regresijos rezultatas. Čia mes analizuojame ankstesnių orų ataskaitų duomenis ir prognozuojame galimą konkrečios dienos rezultatą. Tačiau logiška regresija nuspėtų tik kategoriškus duomenis, pavyzdžiui, jei jie lys, ar ne.

Ligos nustatymas

Mes galimenaudotiloginė regresija paciento anamnezės pagalba, siekiant numatyti, ar liga bet kuriuo atveju yra teigiama ar neigiama.

Leidžia paimti duomenų rinkinio pavyzdį, kad būtų sukurtas prognozavimo modelis naudojant logistinę regresiją.

Demonstracija

Kursime prognozavimo modelįnaudojantloginė regresija „Python“ su pagalbaapieduomenų rinkinys,šiameketiname atlikti šiuos veiksmus, kad pasiektume loginę regresiją.

Duomenų rinkimas

Pats pirmas žingsnis įgyvendinant logistinę regresiją yra duomenų rinkimas. Įkelsime csv failą su duomenų rinkiniu į programas, naudodamiesi pandomis. Mes naudojame NBA duomenis kurdami prognozavimo modelį, norėdami numatyti namų ar išvykos ​​žaidimo galimybę, analizuodami atitinkamų duomenų ryšį.

importuoti pandas kaip pd importuoti numpy kaip np importuoti jūros gimusius kaip sns importuoti matplotlib.pyplot kaip plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') spausdinti (df.head (5))

Visus duomenis gausite į skaitomą formatą, kad būtų lengviau juos analizuoti. Tada galite nustatyti priklausomus ir nepriklausomus modelio kintamuosius.

Analizuojant duomenis

Duomenų rinkinys analizuojamas siekiant nustatyti ryšį tarp kintamųjų. Sukurdami skirtingus siužetus, norėdami patikrinti santykį tarp kintamųjų.

sns.countplot („Pagrindinis“, atspalvis = „WINorLOSS“, duomenys = df) plt.show ()

Aukščiau yra santykis tarp laimėjimo / pralaimėjimo procento, atsižvelgiant į žaidimą namuose / išvykoje. Spanašiaigalime pavaizduoti santykio grafiką tarp kitų susijusių duomenų įrašų.

Duomenų apgaulė

Duomenų rinkinys modifikuojamas pagal tikslinį kintamąjį. Mes pašalinsime visas nulines reikšmes ir eilutės reikšmes taip pat iš „DataFrame“.

spausdinti (df.isnull (). sum ())

Patikrinsime visus nesusijusius duomenis, tokius kaip nulinės vertės ir reikšmės, kurių nereikės kuriant prognozavimo modelį. Jei naudojamame NBA duomenų rinkinyje nėra jokių nulinių verčių, mes toliau dalinsime duomenis.

Testo ir traukinio duomenys

Kad modelis veiktų, duomenys suskirstomi į bandymo duomenis ir traukinio duomenis. Duomenys padalijami naudojant train_test_split . Duomenys čia padalyti į santykį 70:30.

Dabar modelio prognozavimas logistinės regresijos funkcija įgyvendinama importuojant logistinės regresijos modelį į „sklearn“ modulį.

Tada modelis pritaikomas traukinio sąstatui, naudojant pritaikymo funkciją. Po to prognozavimas atliekamas naudojant prognozavimo funkciją.

iš sklearn.model_selection importuoti train_test_split iš sklearn.linear_model importuoti LogisticRegression iš sklearn.metrics importuoti klasifikacijos_atrašą iš sklearn.metrics importuoti confusion_matrix, tikslumo_score x = df.drop ('Home', axis = 1) y = df ['Home'] 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) prognozės = logmodel.predict (x_test) spausdinti (klasifikacijos_atrašymas) (y_t) spausdinti (painiavos_matrica (y_test, numatymai)) spausdinti (tikslumo_vertas (y_test, prognozes))

Klasifikavimo ataskaita:

Klasifikavimo ataskaitoje rodoma Tikslumas , Prisiminkite, F1 ir palaikymas balai modeliui.

Tikslumas balas reiškia lygį, iki kurio tiksli modelio prognozė. Namų žaidimo tikslumas yra 0,62 o išvykos ​​žaidimui yra 0.58 .

Prisimink yra suma, iki kurios modelis gali nuspėti rezultatą. Prisiminkite, kad namų žaidimas yra 0.57 o išvykai yra 0,64 . F1 ir palaikymo balai yra duomenų kiekis, patikrintas prognozėms. NBA duomenų rinkinyje yra tikrinami namų žaidimo duomenys 1662 m o išvykos ​​žaidimui yra 1586 m .

Sumišimo matrica:

Sumišimo matrica yra lentelė, apibūdinanti prognozavimo modelio našumą. Sumišimo matricoje pateikiamos faktinės vertės ir numatomos vertės. šias vertes galime naudoti modelio tikslumo balui apskaičiuoti.

Sumišimo matricos šilumos žemėlapis:

Leidžia suplanuoti painiavos matricos šilumos žemėlapį, naudojant jūrinius ir vizualizuoti mūsų sukurtą prognozavimo modelį. Norint parengti šilumos žemėlapį, būtina tokia sintaksė.

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

Peržiūrėję šilumos žemėlapį galime padaryti tokią išvadą:

  • Iš visų prognozių klasifikatorius numatė „taip“ iš viso 1730 kartų, iš kurių 1012 buvo tikrasis.
  • iš visų prognozių klasifikatorius numatė „ne“ iš viso 1518 kartų, iš kurių 944 buvo tikrieji.

Atlikę šią painiavos matricos analizę, galime padaryti mūsų prognozavimo modelio tikslumo balą.

Tikslumo balas:

Tikslumo balas yra modelio prognozių tikslumo procentinė dalis. Mūsų modelio tikslumo balas yra 0,60, kuris yra gana tikslus. Bet kuo didesnis tikslumo balas, tuo efektyvesnis yra jūsų prognozavimo modelis. Norėdami gauti geresnį prognozavimo modelį, visada turite siekti aukštesnio tikslumo balo.

Atlikdami aukščiau aptartus veiksmus, mes numatėme žaidimo namuose / išvykoje galimybę naudodami NBA duomenų rinkinį. Išanalizavę klasifikacijos ataskaitą galime daryti prielaidą, kad bus žaidžiama namuose / išvykoje.

Šiame tinklaraštyje aptarėme logistinę regresiją pitono koncepcijose, kaip ji skiriasi nuo tiesinio požiūrio. Taip pat apžvelgėme demonstraciją naudodamiesi „NBA“ duomenų rinkiniu. Norėdami gauti daugiau įžvalgų ir praktikos, galite naudoti pasirinktą duomenų rinkinį ir atlikti aptartus veiksmus, kad įgyvendintumėte logistinę regresiją „Python“.

kas yra deksas galios bi

Taip pat patikrinkite įvairius „Data-Science“ tinklaraščius „edureka“ platformoje, kad įvaldytumėte savyje duomenų mokslininką.

Jei norite išmokti „Python“ ir kurti karjerą duomenų moksle, peržiūrėkite mūsų interaktyvų tiesioginį internetą čia yra 24 * 7 palaikymas, kuris padės jums mokytis.
Turite klausimą? Prašau paminėti tai komentaruose ir mes su jumis susisieksime.