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

Jak změnit název hostitele v systému Linux
K odlišení zařízení používají datové pakety adresy IP; pro člověka však nemusí být snadné rozpoznat IP adresy. Naštěstí se v Linuxu název hostitele po...
Jak získat moji IP adresu v Linuxu
V síti je adresa IP štítkem přiřazeným počítači připojenému k síti. V této síti identifikuje IP adresa jedinečné zařízení. Umožňuje zařízením vzájemně...
Jak nastavit nový název hostitele pro váš systém Linux
Všichni víme, že počítače v místní síti jsou identifikovány pomocí adresy IP. Místo toho, abyste očekávali, že si vaši IP adresu zapamatují ostatní, m...