Regresja logistyczna w Pythonie

Regresja logistyczna w Pythonie
Regresja logistyczna to algorytm klasyfikacji uczenia maszynowego. Regresja logistyczna jest również podobna do regresji liniowej. Ale główną różnicą między regresją logistyczną a regresją liniową jest to, że wartości wyjściowe regresji logistycznej są zawsze binarne (0, 1), a nie liczbowe. Regresja logistyczna zasadniczo tworzy związek między zmiennymi niezależnymi (jedna lub więcej niż jedna) a zmiennymi zależnymi. Zmienna zależna jest zmienną binarną, która ma głównie dwa przypadki:
  • 1 za prawdziwe lub
  • 0 dla fałszu

Kluczowe znaczenie regresji logistycznej:

  1. Zmienne niezależne nie mogą być wielokoliniowością; Jeśli istnieje jakiś związek, powinno być bardzo mało.
  2. Zestaw danych do regresji logistycznej powinien być wystarczająco duży, aby uzyskać lepsze wyniki.
  3. Tylko te atrybuty powinny znajdować się w zestawie danych, który ma pewne znaczenie.
  4. Niezależne zmienne muszą być zgodnie z Log szans.

Aby zbudować model regresja logistyczna, Używamy scikit-learn biblioteka. Proces regresji logistycznej w Pythonie podano poniżej:

  1. Zaimportuj wszystkie wymagane pakiety regresji logistycznej i innych bibliotek.
  2. Prześlij zestaw danych.
  3. Zrozum niezależne zmienne zestawu danych i zmienne zależne.
  4. Podziel zestaw danych na dane szkoleniowe i testowe.
  5. Zainicjuj model regresji logistycznej.
  6. Dopasuj model do zestawu danych treningowych.
  7. Przewiduj model za pomocą danych testowych i oblicz dokładność modelu.

Problem: Pierwszymi krokami jest zebranie zestawu danych, na którym chcemy zastosować Regresja logistyczna. Zestaw danych, z którego tu będziemy korzystać. Ten zestaw danych ma cztery zmienne i z których trzy to zmienne niezależne (GRE, GPA, Work_Experience), a jedna jest zmienną zależną (przyjęta). Ten zestaw danych pokaże, czy kandydat otrzyma przyjęcie, czy nie na prestiżowy uniwersytet oparty na ich GPA, GRE lub Work_Experience.

Krok 1: Importujemy wszystkie wymagane biblioteki, których potrzebowaliśmy do programu Python.

Krok 2: Teraz ładujemy nasz zestaw danych o przyjęciu MS za pomocą funkcji Read_CSV Pandas.

Krok 3: Zestaw danych wygląda poniżej:

Krok 4: Sprawdzamy wszystkie kolumny dostępne w zestawie danych, a następnie ustawiamy wszystkie zmienne niezależne na zmienne x i zmienne zależne na y, jak pokazano na poniższym zrzucie ekranu.

Krok 5: Po ustawieniu zmiennych niezależnych na x i zmienną zależną na y, teraz drukujemy tutaj, aby sprawdzić X i Y przy użyciu funkcji pand.

Krok 6: Teraz zamierzamy podzielić cały zestaw danych na szkolenie i test. W tym celu używamy metody scley_test_stest_split. Dostaliśmy 25% całego zestawu danych do testu i pozostałych 75% zestawu danych do szkolenia.

Krok 7: Teraz zamierzamy podzielić cały zestaw danych na szkolenie i test. W tym celu używamy metody scley_test_stest_split. Dostaliśmy 25% całego zestawu danych do testu i pozostałych 75% zestawu danych do szkolenia.

Następnie tworzymy model regresji logistycznej i dopasowujemy dane treningowe.

Krok 8: Teraz nasz model jest gotowy do przewidywania, więc teraz przekazujemy dane testu (x_test) do modelu i otrzymujemy wyniki. Wyniki pokazują (Y_Predictions), które wartości 1 (przyjęte) i 0 (nie przyjęte).

Krok 9: Teraz drukujemy raport klasyfikacyjny i macierz zamieszania.

Report klasyfikacji pokazuje, że model może przewidzieć wyniki z dokładnością 69%.
Matryca zamieszania pokazuje całkowitą dane danych x_test jako:
Tp = prawdziwe pozytywy = 8
Tn = prawdziwe negatywy = 61
FP = fałszywe pozytywy = 4
Fn = fałszywe negatywy = 27

Tak więc całkowita dokładność zgodnie z Conmusion_Matrix wynosi:

Dokładność = (TP+TN)/Total = (8+61)/100 = 0.69

Krok 10: Teraz zamierzamy sprawdzić wynik przez druk. Tak więc po prostu drukujemy 5 najlepszych elementów X_TEST i Y_TEST (rzeczywistą wartość prawdziwą) za pomocą funkcji pandy głównej. Następnie drukujemy również 5 najlepszych wyników prognoz, jak pokazano poniżej:

Łączymy wszystkie trzy wyniki w arkuszu, aby zrozumieć prognozy, jak pokazano poniżej. Widzimy, że z wyjątkiem danych 341 x_test, które były prawdziwe (1), prognoza jest fałszywa (0) inaczej. Tak więc nasze prognozy modelowe działają 69%, jak już pokazaliśmy powyżej.

Krok 11: Rozumiemy więc, w jaki sposób prognozy modelu są dokonywane w niewidzialnym zestawie danych, takim jak x_test. Tak więc stworzyliśmy tylko losowo nowy zestaw danych przy użyciu pandasframe, przekazaliśmy go do wyszkolonego modelu i otrzymaliśmy wynik pokazany poniżej.

Pełny kod w Pythonie podany poniżej:

Kod tego bloga wraz z zestawem danych jest dostępny pod następującym linkiem
https: // github.com/shekharpandey89/reżja logistyczna