Data Science

Logistická regrese v Pythonu

Logistická regrese v Pythonu
Logistická regrese je algoritmus klasifikace strojového učení. Logistická regrese je také podobná lineární regrese. Ale hlavní rozdíl mezi logistickou regresí a lineární regresí spočívá v tom, že výstupní hodnoty logistické regrese jsou vždy binární (0, 1) a ne číselné. Logistická regrese v zásadě vytváří vztah mezi nezávislými proměnnými (jednou nebo více než jednou) a závislými proměnnými. Závislá proměnná je binární proměnná, která má většinou dva případy:

Klíčový význam logistické regrese:

  1. Nezávislé proměnné nesmí být multicollinearity; pokud existuje nějaký vztah, pak by to mělo být velmi málo.
  2. Soubor dat pro logistickou regresi by měl být dostatečně velký, aby poskytoval lepší výsledky.
  3. V datové sadě by měly být pouze tyto atributy, což má nějaký význam.
  4. Nezávislé proměnné musí být podle log kurzy.

Chcete-li vytvořit model logistická regrese, používáme scikit-učit se knihovna. Proces logistické regrese v pythonu je uveden níže:

  1. Importujte všechny požadované balíčky pro logistickou regresi a další knihovny.
  2. Nahrajte datovou sadu.
  3. Pochopte nezávislé proměnné datové sady a závislé proměnné.
  4. Rozdělte datovou sadu na tréninková a testovací data.
  5. Inicializujte model logistické regrese.
  6. Přizpůsobte model cvičné datové sadě.
  7. Predikujte model pomocí testovacích dat a vypočítejte přesnost modelu.

Problém: Prvním krokem je shromáždění datové sady, na kterou chceme použít Logistická regrese. Datová sada, kterou zde použijeme, je pro datovou sadu přijetí MS. Tato datová sada má čtyři proměnné a tři z nich jsou nezávislé proměnné (GRE, GPA, work_experience) a jedna je závislá proměnná (připuštěna). Tato datová sada řekne, zda kandidát dostane vstup na prestižní univerzitu nebo ne, na základě jejich GPA, GRE nebo work_experience.

Krok 1: Importujeme všechny požadované knihovny, které jsme požadovali pro program python.

Krok 2: Nyní načítáme naši datovou sadu pro přijetí ms pomocí funkce read_csv pandas.

Krok 3: Datová sada vypadá níže:

Krok 4: Zkontrolujeme všechny sloupce dostupné v datové sadě a poté nastavíme všechny nezávislé proměnné na proměnnou X a závislé proměnné na y, jak je znázorněno na následujícím snímku obrazovky.

Krok 5: Po nastavení nezávislých proměnných na X a závislé proměnné na y nyní tiskneme, abychom křížově zkontrolovali X a y pomocí funkce pandy hlavy.

Krok 6: Nyní rozdělíme celý soubor dat na trénink a testování. K tomu používáme metodu train_test_split sklearn. Testu jsme dali 25% z celé datové sady a zbývajících 75% datové sady jsme zaškolili.

Krok 7: Nyní rozdělíme celý soubor dat na trénink a testování. K tomu používáme metodu train_test_split sklearn. Testu jsme dali 25% z celé datové sady a zbývajících 75% datové sady jsme zaškolili.

Poté vytvoříme model logistické regrese a přizpůsobíme tréninková data.

Krok 8: Náš model je nyní připraven na predikci, takže nyní předáváme testovací (X_test) data modelu a dostáváme výsledky. Výsledky ukazují (y_predictions), že hodnoty 1 (připuštěno) a 0 (nepřipuštěno).

Krok 9: Nyní vytiskneme zprávu o klasifikaci a matici záměny.

Klasifikační_report ukazuje, že model dokáže předpovídat výsledky s přesností 69%.
Zmatená matice zobrazuje celkové údaje o X_test jako:
TP = skutečná pozitiva = 8
TN = skutečné negativy = 61
FP = Falešná pozitiva = 4
FN = falešné negativy = 27

Celková přesnost podle confusion_matrix je tedy:

Přesnost = (TP + TN) / Celkem = (8 + 61) / 100 = 0.69

Krok 10: Nyní provedeme křížovou kontrolu výsledku prostřednictvím tisku. Právě jsme tedy vytiskli top 5 prvků X_test a y_test (skutečná skutečná hodnota) pomocí funkce pandy hlavy. Potom také vytiskneme prvních 5 výsledků předpovědí, jak je uvedeno níže:

Kombinujeme všechny tři výsledky do listu, abychom pochopili předpovědi, jak je uvedeno níže. Vidíme, že až na data 341 X_test, která byla true (1), je předpověď falešná (0) else. Naše modelové předpovědi tedy fungují 69%, jak jsme již ukázali výše.

Krok 11: Takže chápeme, jak se předpovědi modelu provádějí na neviditelné datové sadě, jako je X_test. Takže jsme vytvořili jen náhodně novou datovou sadu pomocí datového rámce pandy, předali ji trénovanému modelu a dostali výsledek uvedený níže.

Kompletní kód v pythonu uvedený níže:

Kód tohoto blogu je spolu s datovou sadou k dispozici na následujícím odkazu
https: // github.com / shekharpandey89 / logistic-regression

Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...
Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...