Adattudomány

Logisztikai regresszió a Pythonban

Logisztikai regresszió a Pythonban
A logisztikai regresszió gépi tanulási osztályozási algoritmus. A logisztikai regresszió is hasonló a lineáris regresszióhoz. De a fő különbség a logisztikai regresszió és a lineáris regresszió között az, hogy a logisztikai regresszió kimeneti értékei mindig binárisak (0, 1) és nem numerikusak. A logisztikai regresszió alapvetően kapcsolatot hoz létre a független változók (egy vagy több) és a függő változók között. A függő változó egy bináris változó, amelynek többnyire két esete van:

A logisztikai regresszió kulcsfontosságú fontossága:

  1. A független változók nem lehetnek multikollinearitásúak; ha van valamilyen kapcsolat, akkor annak nagyon kevésnek kell lennie.
  2. A logisztikai regresszió adatkészletének elég nagynak kell lennie a jobb eredmények elérése érdekében.
  3. Csak azok az attribútumok lehetnek ott az adatkészletben, amelynek van némi jelentése.
  4. A független változóknak a napló esélyek.

A modell felépítéséhez logisztikus regresszió, használjuk a scikit-tanulni könyvtár. A logisztikai regresszió folyamata a pythonban az alábbiakban látható:

  1. Importálja az összes szükséges csomagot a logisztikai regresszióhoz és más könyvtárakhoz.
  2. Töltse fel az adatkészletet.
  3. A független adatkészlet-változók és a függő változók megértése.
  4. Ossza fel az adatkészletet képzési és tesztadatokra.
  5. Inicializálja a logisztikai regressziós modellt.
  6. Illessze a modellt az oktatási adatkészlettel.
  7. Tippelje meg a modellt a tesztadatok alapján, és számítsa ki a modell pontosságát.

Probléma: Az első lépések az adatkészlet összegyűjtése, amelyre alkalmazni akarjuk a Logisztikus regresszió. Az itt használt adatkészlet az MS felvételi adatkészletére vonatkozik. Ennek az adatkészletnek négy változója van, amelyek közül három független változó (GRE, GPA, munkatapasztalat), egy pedig függő változó (beengedett). Ez az adatkészlet megmondja, hogy a jelölt GPA, GRE vagy work_experience alapján felvételt nyer-e egy rangos egyetemre vagy sem.

1. lépés: Importálunk minden szükséges könyvtárat, amelyre a python programhoz szükségünk volt.

2. lépés: Most betöltjük az ms felvételi adatkészletünket a read_csv pandas függvény használatával.

3. lépés: Az adatkészlet az alábbiak szerint néz ki:

4. lépés: Ellenőrizzük az adatkészletben rendelkezésre álló összes oszlopot, majd az összes független változót X változóra, a függő változókat pedig y értékre állítjuk, amint az az alábbi képernyőképen látható.

5. lépés: Miután a független változókat X-re, a függő változót y-re állítottuk, most itt nyomtatjuk az X és y keresztellenőrzését a fej pandák funkcióval.

6. lépés: Most az egész adatsort képzésre és tesztre fogjuk osztani. Ehhez a sklearn train_test_split metódusát használjuk. A teljes adatkészlet 25% -át a tesztnek, az adatkészlet fennmaradó 75% -át pedig a képzésnek adtuk.

7. lépés: Most az egész adatsort képzésre és tesztre fogjuk osztani. Ehhez a sklearn train_test_split metódusát használjuk. A teljes adatkészlet 25% -át a tesztnek, az adatkészlet fennmaradó 75% -át pedig a képzésnek adtuk.

Ezután elkészítjük a Logistic Regression modellt, és illesztjük az edzés adatait.

8. lépés: A modellünk készen áll a jóslatokra, ezért a teszt (X_test) adatokat átadjuk a modellnek, és megkapjuk az eredményeket. Az eredmények azt mutatják (y_predictions), hogy 1 (beengedett) és 0 (be nem engedett) érték.

9. lépés: Most kinyomtatjuk az osztályozási jelentést és a zavaros mátrixot.

Az osztályozási_jelentés azt mutatja, hogy a modell 69% -os pontossággal képes megjósolni az eredményeket.
A zavaros mátrix az X_test összes adatát a következőképpen jeleníti meg:
TP = Igaz Pozitívok = 8
TN = Igaz negatívok = 61
FP = hamis pozitív = 4
FN = hamis negatívok = 27

Tehát a confusion_matrix szerint a teljes pontosság:

Pontosság = (TP + TN) / Összesen = (8 + 61) / 100 = 0.69

10. lépés: Most ellenőrizni fogjuk az eredményt nyomtatással. Tehát csak kinyomtatjuk az X_test és y_test (tényleges valós érték) top 5 elemét a head pandas függvény használatával. Ezután kinyomtatjuk az előrejelzések top 5 eredményét az alábbiak szerint:

Mindhárom eredményt összefoglaljuk egy lapban, hogy megértsük az előrejelzéseket az alábbiak szerint. Láthatjuk, hogy a 341 X_test adat kivételével, amely igaz volt (1), a jóslat hamis (0). Tehát a modellre vonatkozó előrejelzéseink 69% -kal működnek, amint azt már fentebb bemutattuk.

11. lépés: Tehát megértjük, hogyan történik a modell előrejelzése az olyan láthatatlan adatkészleten, mint az X_test. Tehát csak egy véletlenszerűen új adatkészletet hoztunk létre egy pandas adatkeret felhasználásával, átadtuk a képzett modellnek, és megkaptuk az alább látható eredményt.

Az alábbi python teljes kódja:

A blog kódja és az adatkészlet a következő linken érhető el
https: // github.com / shekharpandey89 / logistic-regression

Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...