- 1 pre pravdivé alebo
- 0 pre nepravdivé
Kľúčový význam logistickej regresie:
- Nezávislé premenné nesmú byť multicollinearity; ak existuje nejaký vzťah, potom by to malo byť veľmi málo.
- Súbor údajov pre logistickú regresiu by mal byť dostatočne veľký, aby dosahoval lepšie výsledky.
- V množine údajov by mali byť iba tieto atribúty, čo má určitý význam.
- Nezávislé premenné musia zodpovedať: log kurzy.
Postaviť model modelu logistická regresia, používame scikit-učiť sa knižnica. Proces logistickej regresie v pythone je uvedený nižšie:
- Importujte všetky potrebné balíky pre logistickú regresiu a ďalšie knižnice.
- Nahrajte dataset.
- Pochopte nezávislé premenné množiny údajov a závislé premenné.
- Rozdelte dataset na tréningové a testovacie dáta.
- Inicializujte model logistickej regresie.
- Prispôsobte model cvičebnej množine údajov.
- Predpovedajte model pomocou údajov z testu a vypočítajte presnosť modelu.
Problém: Prvým krokom je zhromaždenie súboru údajov, na ktorý chceme použiť Logistická regresia. Dataset, ktorý tu použijeme, je pre dataset prijímania MS. Tento súbor údajov má štyri premenné a z toho tri nezávislé premenné (GRE, GPA, work_experience) a jedna je závislá premenná (pripustená). Tento súbor údajov informuje o tom, či kandidát dostane alebo nedostane prestížnu univerzitu na základe svojich GPA, GRE alebo pracovných skúseností.
Krok 1: Importujeme všetky požadované knižnice, ktoré sme požadovali pre program python.
Krok 2: Teraz načítavame našu množinu údajov o prijatí ms pomocou funkcie pandas read_csv.
Krok 3: Súbor údajov vyzerá takto:
Krok 4: Skontrolujeme všetky stĺpce dostupné v množine údajov a potom nastavíme všetky nezávislé premenné na premennú X a závislé premenné na y, ako je znázornené na nasledujúcom obrázku.
Krok 5: Po nastavení nezávislých premenných na X a závislej premennej na y teraz tlačíme na krížovú kontrolu X a y pomocou funkcie head pandas.
Krok 6: Teraz rozdelíme celý súbor údajov na školenie a testovanie. Na tento účel používame metódu train_test_split sklearn. Testu sme dali 25% z celého súboru údajov a zvyšných 75% súboru dát sme zaškolili.
Krok 7: Teraz rozdelíme celý súbor údajov na školenie a testovanie. Na tento účel používame metódu train_test_split sklearn. Testu sme dali 25% z celého súboru údajov a zvyšných 75% súboru dát sme zaškolili.
Potom vytvoríme model logistickej regresie a zapadneme do tréningových údajov.
Krok 8: Náš model je teraz pripravený na predpoveď, takže teraz odovzdávame testovacie údaje (X_test) modelu a získame výsledky. Výsledky ukazujú (y_predictions), že hodnoty 1 (povolené) a 0 (neprijaté).
Krok 9: Teraz vytlačíme správu o klasifikácii a maticu zámeny.
Klasifikačný_report ukazuje, že model dokáže predpovedať výsledky s presnosťou na 69%.
Zmätená matica zobrazuje celkové podrobnosti údajov X_test ako:
TP = skutočné pozitíva = 8
TN = skutočné negatívy = 61
FP = falošné pozitíva = 4
FN = falošné negatívy = 27
Celková presnosť podľa confusion_matrix je teda:
Presnosť = (TP + TN) / Celkom = (8 + 61) / 100 = 0.69
Krok 10: Teraz sa chystáme skontrolovať výsledok pomocou tlače. Takže sme práve vytlačili top 5 prvkov X_test a y_test (skutočná skutočná hodnota) pomocou funkcie pandy hlavy. Potom tiež vytlačíme prvých 5 výsledkov predpovedí, ako je uvedené nižšie:
Všetky tri výsledky skombinujeme do hárka, aby sme pochopili predpovede, ako je uvedené nižšie. Vidíme, že až na údaje 341 X_test, ktoré boli true (1), je predpoveď false (0) else. Naše predpovede modelu teda fungujú na 69%, ako sme si už ukázali vyššie.
Krok 11: Takže chápeme, ako sa predpovede modelu vykonávajú na neviditeľnej množine údajov, ako je X_test. Takže sme vytvorili iba náhodne nový súbor údajov pomocou údajového rámca pandy, odovzdali ho trénovanému modelu a dostali výsledok uvedený nižšie.
Kompletný kód v pythone uvedený nižšie:
Kód tohto blogu je spolu so súborom údajov k dispozícii na nasledujúcom odkaze
https: // github.com / shekharpandey89 / logistic-regression