Teljes, lépésről lépésre útmutató a szívelégtelenség előrejelzésére vonatkozó adatkészlethez a Jupyter Notebookban

Bevezetés

Végre készen állunk a logisztikai regresszió végrehajtására az adatkészleten.

Áttekintés

Ebben a cikkben a következő témákkal foglalkozunk:

  • Logisztikus regresszió
  • Logit modell
  • Maximális valószínűség becslés
  • Modellfejlesztés
  • Modell előrejelzés
  • Modellparaméterek becslése (Skicit-learn vs. Statsmodels)
  • Modell értékelése

Logisztikus regresszió

A regresszió statisztikai módszer. Az adattudományban és a gépi tanulásban többféle regressziót használnak:

  • Lineáris regresszió,
  • polinomiális regresszió,
  • Ridge regresszió,
  • Lasszó regresszió,
  • Logisztikus regresszió.

A logisztikai regresszió modellezi a függő változó és egy független változó közötti kapcsolatot. A függő változó kategorikus attribútum. Ez az attribútum 0 és 1, igen vagy nem, vagy igaz vagy hamis formában jelenik meg. Kétféle változó létezik:

  • Függő változó: előrejelzett vagy célváltozónak is nevezik. Ez az a változó, amelyet meg akarunk jósolni.
  • Független változó: előrejelző változónak is nevezik. A független változó hatással van a függő változóra. A független változót használjuk a függő változó előrejelzésére.

Csak egy független változót fogunk megváltoztatni. Megfigyeljük a függő változó hatását. A többi független változót rögzítve fogjuk tartani.

A függő változónak két vagy több kategorikus eredménye lehet. Két eredményhez bináris logisztikus regressziót használunk. Kettőnél több eredmény esetén multinomiális logisztikus regressziót alkalmazunk.

A forgatókönyv osztályozási probléma. Egy osztályozási feladatban megpróbáljuk megjósolni, hogy egy adatpont melyik osztályba tartozik.

Logit modell

A logisztikai regresszió modellezi annak valószínűségét, hogy Y egy adott kategóriába tartozik. Példánkban az Y (halálesemény) a túlélők vagy az elhunytak közé tartozhat. Feltételes valószínűségként írhatjuk fel a következő egyenlettel:

Megmondja nekünk a túlélés valószínűségét, ha tudjuk, hogy cukorbetegek. A logisztikus regresszió a lineáris regresszió egyik formája. A logisztikus regresszió egyenlete a következőképpen néz ki:

Ha megrajzoljuk ennek az egyenletnek a görbéjét, akkor egy S alakú görbét kapunk. Ez a szigmoid függvény.

Amint látjuk, a logisztikai függvény a szélsőségekben közelít a nullához és az egyhez. Az x változó nulla és egy lesz, ha x pozitív vagy negatív végtelenben van. A logisztikai függvény soha nem ad vissza nullánál egy vagy nagyobb vagy kisebb valószínűséget.

Az adatok logisztikus regressziós modellezésére a szigmoid függvényt használjuk. A függvényt így írjuk:

A függvényt tovább módosíthatjuk:

Az egyenlet jobb oldala az esély. Az odds az esemény valószínűsége osztva annak valószínűségével, hogy az esemény nem következik be.

Ha az érték közelebb van a 0-hoz, a valószínűség kisebb. Ha az érték nagyobb, akkor nagyobb a valószínűsége.

A jellemzők és a célváltozó között nincs lineáris kapcsolat. Nemlineáris kapcsolat esetén az adatokat logaritmikus transzformációval kell átalakítanunk. Felvesszük a logaritmust az egyenlet mindkét oldalán. Ez megadja nekünk a bináris eredményváltozó sikerének vagy logit függvényének logikus esélyét:

Lineáris kapcsolat van a változó(k) és a természetes logó között

P az esemény bekövetkezésének valószínűsége. Az egyik valószínűsége egy esemény bekövetkezésének bizonyossága. A nulla valószínűsége annak bizonyossága, hogy az esemény nem következik be.

A logit függvény egy adott osztályhoz való tartozás valószínűségét adja vissza.

Maximális valószínűség becslés

Az értékeket a logisztikus függvényegyenletben tudjuk megbecsülni. Maximalizáljuk a likelihood függvényt, hogy az együtthatók legjobb értékeit kapjuk:

Adatkészletünk függő változója a Death Event változó. Ez a változó megmutatja, hogy a betegek túlélték-e vagy elhunytak. Ezt az adatkészletet fogjuk használni annak előrejelzésére, hogy egy beteg túlélte-e a szívelégtelenséget.

Modellfejlesztés

Először importáljuk a szükséges könyvtárat:

Ezt követően létrehozunk egy logisztikai regressziós objektumot. Inicializáljuk az algoritmust:

Ezután felszereljük a modellt a vonatszerelvényre:

Modell előrejelzés

Végül előrejelzést hajtunk végre a tesztkészleten:

A kimenet így néz ki:

[0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1

0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0

0]

Modellparaméterek becslése (Skicit-Learn vs. Statsmodels)

Az együtthatókat a Skicit-Learn vs. Statsmodels segítségével becsüljük meg. Más eredményt várunk. Ennek oka:

  • Skicit-learning modellek a gépi tanulás szemszögéből.
  • A könyvtár statisztikai modelljei a logisztikai regressziót modellezik a statisztika szemszögéből.

Ezt a különbséget egy későbbi bejegyzésben fogjuk megvizsgálni.

Skicit-Learn

Kivonjuk a metszéspont értékét.

[0.00022105]

Kivonjuk az együttható értékét.

[[ 5.38458117e-02 5.36773673e-04 2.31503895e-04 9.27113916e-05

-7.74073086e-02 -1.58834172e-04 -2.92700745e-06 7.34575441e-03

1.10442224e-02 3.91177459e-05 -2.10509760e-04 -1.89739330e-02]]

Az együtthatókat egy listába helyezzük.

A haláleset logaritmusa 0,053846-tal nő az életkor minden egyfokkal történő növekedésével.

Statsmodels

Először is meghatározzuk a jellemző oszlopokat. Az adatkészletet szolgáltatásokra és célváltozókra bontjuk.

Ezután importáljuk a szükséges könyvtárat. A könyvtári statsmodels eszközöket biztosít különböző statisztikai modellekhez és tesztekhez. A Statsmodels Logit () függvényt biztosít a logisztikus regresszió végrehajtásához. A Logit () függvény elfogadja az y-t és az x-et paraméterként. Visszaadja a Logit objektumot. A modell ezután illeszkedik az adatokhoz. Az alábbi összefoglaló táblázat a regressziós eredmények leíró összefoglalását tartalmazza.

Végül a statsmodels könyvtár megmutatja az együtthatókat és a p-értékeket:

A koef érték a szívelégtelenség túlélési esélyének átlagos változását mutatja meg. A P›|z| az értékek az egyes együtthatók p-értékeit jelentik. A pszeudo-R-négyzet a nullmodell log-likelihoodjának és a teljes modell log-valószínűségének aránya. Az érték 0 és 1 között változhat. A magasabb értékek jobb modellillesztést mutatnak. Például,

· Az életkor p-értéke 0,001. Mivel ez az érték kisebb, mint 0,05, ez azt jelenti, hogy jelentős kapcsolat áll fenn.

· Az pszeudo-R-négyzet értéke 0,4063. Ez nem túl magas. Minél magasabb az érték, annál jobban megjósolja a modell az eredményt.

Modell értékelése

Először importáljuk a szükséges könyvtárat:

Pontosság

Kiszámoljuk a pontosságot:

81%-os minősítési arányt kaptunk. Ez jó pontosság.

A pontossági pontszám megmutatja, hogy a teszt során hány előrejelzés volt helyes. A pontosság megmutatja, hogy a modellnek milyen gyakran van igaza, amikor előrejelzést ad. Ha a hamis pozitív eredmények aránya alacsony, a pontosság nagyobb. A Recall megmutatja, hogy a modell képes-e megtalálni az összes releváns esetet egy adatkészleten belül.

Zavart mátrix

A zavaros mátrix értékeli az osztályozási modell teljesítményét.

48 és 13 valós előrejelzések. A 10 és 4 helytelen előrejelzések.

ROC görbe

A vevő működési jellemzői (ROC) az osztályozási modell teljesítményét mutatja. Ez a görbe két paramétert ábrázol:

  • Valódi pozitív árfolyam
  • Hamis pozitív arány

Megmutatja az érzékenység és a specifitás közötti kompromisszumot.

A görbe alatti terület (AUC) pontszáma az esetre 0,89. Az 1-es AUC pontszám tökéletes osztályozót jelent.

A kód a Githubon található. /

Következtetés

Teljes útmutatót adtunk a logisztikai regresszióhoz. Elmagyaráztuk a Logit modellt. Megbecsültük a paramétereket. Kidolgoztuk és kiértékeltük a módot. Egyik következő cikkünkben javítani fogjuk a logisztikai regressziót. A jövőben megvizsgáljuk a Skicit-Learn és a Statsmodels közötti különbséget. Ha tetszik ez a cikk, tapsolj. Ha szeretne olvasni tőlem hasonló cikkeket, kérjük, kövessen, hogy e-mailben értesítsek, amikor új cikket teszek közzé.

Referencia:

Banoth, R., Godishala, A. K. and Chilukula, M. R. (2021) Introduction to Machine Learning. 1. kiadás Tudós sajtó. Elérhető: https://www.perlego.com/book/3217400/introduction-to-machine-learning-supervised-and-unsupervised-learning-pdf (Hozzáférés: 2022. október 15.).

Chopra, R., England, A. és Alaudeen, M. N. (2019) Data Science with Python. 1. kiadás Packt Publishing. Elérhető: https://www.perlego.com/book/1031662/data-science-with-python-combine-python-with-machine-learning-principles-to-discover-hidden-patterns-in-raw- data-pdf (Hozzáférés: 2023. február 14.).

Johnston, B. és Mathur, I. (2019): Applied Supervised Learning with Python. 1. kiadás Packt Publishing. Elérhető: https://www.perlego.com/book/962337/applied-supervised-learning-with-python-use-scikitlearn-to-build-predictive-models-from-realworld-datasets-and-prepare- magad-for-the-future-of-machine-learning-pdf (Hozzáférés: 2023. február 14.).

Singh, H. (2021): Statistics for Machine Learning. [kiadás nem elérhető]. BPB kiadványok. Elérhető: https://www.perlego.com/book/2089870/statistics-for-machine-learning-implement-statistic-methods-used-in-machine-learning-using-python-english-edition-pdf (Hozzáférés: 2023. február 14.).