Logisztikai regresszió végrehajtása Python-ban?



Logisztikai regresszió a Pythonban a sklearn segítségével az eredmény előrejelzéséhez a függő és egy vagy több független változó kapcsolatának meghatározásával.

A logisztikai regresszió a Pythonban prediktív elemzési technika. A gépi tanulásban bináris osztályozási problémákra is használják. Ebben a blogban a következő témákat fogjuk áttekinteni a logisztikai regresszió megértésében a Pythonban:

  1. Mi a regresszió?
  2. Logisztikai regresszió a Pythonban
  3. Logisztikai regresszió vs lineáris regresszió
  4. Használjon tokokat
  5. Demonstráció

A jobb megértés érdekében bemutathatja ezt a részletes oktatóanyagot a logisztikai regresszióról a pythonban egy bemutatóval, vagy áttekintheti a a logisztikai regresszió elsajátításához.





Mi a regresszió?

Az elemzés hatékony statisztikai elemzési technika. A függő A mi érdeklődésünk változóját használjuk más értékek előrejelzésére független változók egy adathalmazban.

A regresszióval folyamatosan intuitív módon találkozunk. Mint az időjárás előrejelzése a múlt időjárási viszonyainak adatkészlete alapján.



Számos technikát alkalmaz az eredmény elemzésére és előrejelzésére, de a hangsúly főleg a kapcsolat a függő változó és egy vagy több független változó között.

Az elemzés bináris változóban jósolja az eredményt, amelynek csak két lehetséges eredménye van.



Logisztikai regresszió Pythonban

Ez egy technika egy olyan adatkészlet elemzésére, amelynek van egy függő változója és egy vagy több független változója, hogy megjósolja az eredményt egy bináris változóban, vagyis csak két eredménye lesz.

A függő változó az kategorikus a természetben. A függő változóra is hivatkozunk célváltozó a független változókat pedig prediktorok .

A logisztikai regresszió a lineáris regresszió speciális esete, ahol az eredményt csak kategorikus változóban jósoljuk. A naplófüggvény segítségével megjósolja az esemény valószínűségét.

Használjuk a Szigmoid függvény / görbe hogy megjósolják a kategorikus értéket. A küszöbérték dönti el az eredményt (nyer / veszít).

Lineáris regressziós egyenlet: y = β0 + β1X1 + β2X2…. + βnXn

  • Y azt a függő változót jelenti, amelyet meg kell jósolni.
  • β0 az Y-metszéspont, amely alapvetően az egyenes azon pontja, amely az y-tengelyt érinti.
  • β1 az egyenes meredeksége (a meredekség negatív vagy pozitív lehet a függő változó és a független változó viszonyától függően.)
  • X itt azt a független változót jelenti, amelyet az eredő függő értékünk előrejelzésére használunk.

Sigmoid funkció: p = 1/1 + e-Y

Alkalmazzuk a sigmoid függvényt a lineáris regressziós egyenletre.

logisztikai regresszió a python-edurekában

Logisztikai regressziós egyenlet: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Vessünk egy pillantást a logisztikai regresszió különféle típusaira.

A logisztikai regresszió típusai

sql szerver oktatóanyagok kezdőknek
    • Bináris logisztikai regresszió - Ennek csak két lehetséges eredménye van. Példa: igen vagy nem
    • Multinomiális logisztikai regresszió - Három vagy több névleges kategóriája van. Példa: macska, kutya, elefánt.
    • Rendes logisztikai regresszió - Három vagy több sorszámkategóriája van, a sorszám azt jelenti, hogy a kategóriák sorrendben lesznek. Példa - felhasználói értékelések (1-5).

Lineáris Vs logisztikai regresszió

Míg a lineáris regressziónak lehet végtelen lehetséges értékek, a logisztikai regressziónak van határozott eredmények .

A lineáris regressziót akkor alkalmazzuk, amikor a válaszváltozó folyamatos jellegű, de a logisztikai regressziót akkor alkalmazzuk, ha a válaszváltozó kategorikus jellegű.

A nemteljesítő bankban történő előrejelzése a tranzakció részleteinek felhasználásával a múltban logisztikai regresszió, míg a folyamatos kibocsátás, például a tőzsdei pontszám a lineáris regresszió példája.

Használjon tokokat

Az alábbiakban bemutatjuk azokat a felhasználási eseteket, amikor logisztikai regressziót használhatunk.

Időjárás-előrejelzés

Az időjárás-előrejelzések a logikai regresszió eredménye. Itt elemezzük a korábbi időjárási jelentések adatait, és megjósoljuk az adott nap lehetséges kimenetelét. De a logikus regresszió csak kategorikus adatokat jósolna meg, például ha esni fog, vagy sem.

A betegség meghatározása

Tudunkhasználatlogikus regresszió a beteg kórtörténetének segítségével annak előrejelzésére, hogy a betegség mindenképpen pozitív vagy negatív.

Vegyünk egy mintadatkészletet egy logikai regressziót használó predikciós modell felépítéséhez.

Demó

Felépítünk egy jóslási modelltfelhasználásávallogikai regresszió Pythonban a segítségévelnak,-nekegy adatkészlet,ebbena következő lépéseket fogjuk lefedni a logikai regresszió elérése érdekében.

Adatgyűjtés

A logisztikai regresszió végrehajtásának legelső lépése az adatok összegyűjtése. Az adatsort tartalmazó csv fájlt a pandák segítségével töltjük be a programokba. Az NBA adatait felhasználjuk az előrejelzési modell felépítéséhez, hogy megjósoljuk az otthoni játék vagy az idegenbeli mérkőzés lehetőségét, a releváns adatok kapcsolatának elemzésével.

import pandák pd-ként import számok mint np import tengeri szülők sns-ként import matplotlib.pyplot mint plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Az összes adatot olvasható formátumba fogja kapni a könnyebb elemzés érdekében. Ezután meghatározhatja a modell függő és független változóit.

Adatok elemzése

Az adathalmaz elemzésével meghatározzuk a változók közötti kapcsolatot. Különböző ábrák létrehozásával a változók közötti kapcsolat ellenőrzésére.

sns.countplot ('Home', hue = 'WINorLOSS', data = df) plt.show ()

tizedestől binárisig a pythonban

Fent van a kapcsolat a győzelem / vereség aránya között a hazai / idegenbeli játék szempontjából. Shasonlóanábrázolhatjuk az adatok többi releváns bejegyzése közötti kapcsolat grafikonját.

Adatforgatás

Az adatkészlet a célváltozónak megfelelően módosul. Kiküszöböljük az összes null értéket és a karakterlánc értékeket is a DataFrame-ből.

nyomtatás (df.isnull (). sum ())

Megvizsgáljuk az összes irreleváns adatot, például a null értékeket és azokat az értékeket, amelyekre a predikciós modell felépítése során nem lesz szükség. Ha az általunk használt NBA adatkészletben nincsenek null értékek, folytatjuk az adatok felosztását.

Teszt és vonat adatok

A modell teljesítményéhez az adatokat fel kell osztani a vizsgálati adatokra és a vonat adataira. Az adatokat a train_test_split . Az itt szereplő adatok 70:30 arányban vannak felosztva.

Most, a modelljóslás a logisztikai regressziós függvény a logisztikus regressziós modell importálásával valósul meg a sklearn modulban.

Ezután a modell illeszkedik a vonatkészletre az illesztés funkció használatával. Ezt követően az előrejelzést a predikciós függvény segítségével hajtják végre.

from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import rating_report from sklearn.metrics import confusion_matrix, pontosság_score x = df.drop ('Home', tengely = 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) predikciók = logmodel.predict (x_test) print (osztályozási_jelentés (predikció)) nyomtatás (confusion_matrix (y_test, predikciók)) print (pontosság_score (y_test, predikciók))

Osztályozási jelentés:

Az osztályozási jelentés a Pontosság , Recall, F1 és támogatás pontszámok a modell számára.

Pontosság a pontszám azt a szintet jelenti, amelyig a modell jóslata pontos. Az otthoni játék pontossága az 0,62 az idegenbeli játék pedig az 0,58 .

Visszahívás az az összeg, amelyig a modell megjósolhatja az eredményt. Emlékezzünk egy otthoni játékra 0,57 és egy idegenbeli játék esetén 0,64 . Az F1 és a Támogatási pontszám az előrejelzésekhez tesztelt adatok mennyisége. Az NBA adatkészletében az otthoni játékra tesztelt adatok vannak 1662 az idegenbeli játék pedig az 1586 .

Zavarzási mátrix:

A Confusion mátrix egy táblázat, amely leírja egy predikciós modell teljesítményét. Egy összetévesztési mátrix tartalmazza a tényleges értékeket és a megjósolt értékeket. ezeket az értékeket felhasználhatjuk a modell pontossági pontszámának kiszámításához.

Zavart mátrix hőtérkép:

Lehetővé teszi a zavart mátrix hőtérképének ábrázolását tengeri és az általunk felépített előrejelzési modell megjelenítéséhez. A hőtérkép ábrázolásához a következő szintaxis szükséges.

sns.heatmap (pd.DataFrame (zavart_mátrix (y_teszt, jóslatok))) plt.show ()

A hőtérkép megtekintésével a következőket vonhatjuk le:

  • Az összes jóslat közül az osztályozó 1730 alkalommal igent jósolt, ebből 1012 volt tényleges igen.
  • az összes jóslat közül az osztályozó összesen 1518 alkalommal nemet jósolt, ebből 944 tényleges nem.

A zavarossági mátrix ezen elemzésével következtethetünk előrejelzési modellünk pontosságára.

Pontossági pontszám:

A pontossági pontszám a modell által készített előrejelzések pontosságának százaléka. Modellünk esetében a pontosság 0,60, ami meglehetősen pontos. De minél nagyobb a pontossági pontszám, annál hatékonyabb az Ön előrejelzési modellje. A jobb előrejelzési modell érdekében mindig magasabb pontosságra kell törekednie.

A fent tárgyalt lépések követésével megjósoltuk a hazai / idegenbeli mérkőzés lehetőségét az NBA adatkészletének felhasználásával. A besorolási jelentés elemzése után feltételezhetjük a hazai / idegenbeli játék lehetőségét.

Ebben a blogban a logisztikai regressziót tárgyaltuk python koncepciókban, hogy miben különbözik a lineáris megközelítéstől. Ismertettünk egy bemutatót az NBA adatkészletének felhasználásával. További betekintés és gyakorlás érdekében használhat egy tetszőleges adatkészletet, és a tárgyalt lépéseket követve hajthatja végre a logisztikai regressziót a Pythonban.

Ezenkívül nézze meg a különböző Data-Science blogokat az edureka platformon, hogy elsajátítsa benned az adatkutatót.

Ha meg akar tanulni Python-t és karriert kíván kialakítani az adattudományban, akkor nézze meg interaktív, élő online oldalunkat itt 24 * 7 támogatás jár, amely végigvezeti Önt a tanulási időszak alatt.
Kérdésed van? Kérjük, említse meg a megjegyzésekben, és kapcsolatba lépünk Önnel.