Nauka o danych

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łówna różnica między regresją logistyczną a regresją liniową polega na tym, ż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 (jedną lub więcej niż jedną) a zmiennymi zależnymi. Zmienna zależna jest zmienną binarną, która ma najczęściej dwa przypadki:

Kluczowe znaczenie regresji logistycznej:

  1. Zmienne niezależne nie mogą być współliniowe; jeśli jest jakiś związek, to powinno być bardzo mało.
  2. Zbiór danych dla regresji logistycznej powinien być wystarczająco duży, aby uzyskać lepsze wyniki.
  3. W zbiorze danych powinny znajdować się tylko te atrybuty, co ma pewne znaczenie.
  4. Zmienne niezależne muszą być zgodne z loguj szanse.

Aby zbudować model regresja logistyczna, Używamy scikit-uczyć się biblioteka. Proces regresji logistycznej w Pythonie jest przedstawiony poniżej:

  1. Zaimportuj wszystkie wymagane pakiety do regresji logistycznej i innych bibliotek.
  2. Prześlij zbiór danych.
  3. Zrozumieć niezależne zmienne zbioru danych i zmienne zależne.
  4. Podziel zbiór danych na dane treningowe i testowe.
  5. Zainicjuj model regresji logistycznej.
  6. Dopasuj model do treningowego zbioru danych.
  7. Przewiduj model na podstawie danych testowych i oblicz dokładność modelu.

Problem: Pierwsze kroki to zebranie zbioru danych, na którym chcemy zastosować Regresja logistyczna. Zestaw danych, którego tutaj użyjemy, dotyczy zestawu danych dotyczących przyjmowania MS. Ten zbiór danych ma cztery zmienne, z których trzy są zmiennymi niezależnymi (GRE, GPA, work_experience), a jedna jest zmienną zależną (dopuszczalne). Ten zestaw danych powie, czy kandydat otrzyma wstęp na prestiżowy uniwersytet, czy nie na podstawie ich GPA, GRE lub work_experience.

Krok 1: Importujemy wszystkie wymagane biblioteki, które były wymagane do programu python.

Krok 2: Teraz ładujemy nasz zbiór danych przyjęcia ms za pomocą funkcji read_csv pandas.

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

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

Krok 5: Po ustawieniu zmiennych niezależnych na X i zmiennej zależnej na y, teraz drukujemy tutaj, aby sprawdzić krzyżowo X i y za pomocą funkcji head pandas.

Krok 6: Teraz podzielimy cały zbiór danych na trening i test. W tym celu używamy metody train_test_split sklearn. Do testu przekazaliśmy 25% całego zbioru danych, a pozostałe 75% zbioru danych na szkolenie.

Krok 7: Teraz podzielimy cały zbiór danych na trening i test. W tym celu używamy metody train_test_split sklearn. Do testu przekazaliśmy 25% całego zbioru danych, a pozostałe 75% zbioru danych na szkolenie.

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

Krok 8: Teraz nasz model jest gotowy do prognozowania, więc teraz przekazujemy dane testowe (X_test) do modelu i otrzymujemy wyniki. Wyniki pokazują (y_predictions), że wartości 1 (dopuszczone) i 0 (niedopuszczone).

Krok 9: Teraz drukujemy raport klasyfikacyjny i macierz pomyłek.

Raport Classification_report pokazuje, że model może przewidywać wyniki z dokładnością 69%.
Macierz pomyłek pokazuje wszystkie szczegóły danych X_test jako:
TP = Prawdziwe pozytywy = 8
TN = Prawdziwe negatywy = 61
FP = fałszywie pozytywne wyniki = 4
FN = Fałszywe Negatywy = 27

Tak więc całkowita dokładność zgodnie z macierzą pomyłek wynosi:

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

Krok 10: Teraz sprawdzimy wynik poprzez wydruk. Tak więc po prostu wyświetlamy 5 górnych elementów X_test i y_test (rzeczywista wartość prawdziwa) za pomocą funkcji pandy głowy. Następnie drukujemy również 5 najlepszych wyników prognoz, jak pokazano poniżej:

Łączymy wszystkie trzy wyniki w arkuszu, aby zrozumieć przewidywania, 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 prognozy naszego modelu działają w 69%, jak już pokazaliśmy powyżej.

Krok 11: Rozumiemy więc, w jaki sposób prognozy modelu są wykonywane na niewidocznym zbiorze danych, takim jak X_test. Tak więc utworzyliśmy tylko losowo nowy zestaw danych przy użyciu ramki danych pandas, przekazaliśmy go do wytrenowanego modelu i otrzymaliśmy wynik pokazany poniżej.

Pełny kod w pytonie podany poniżej:

Kod tego bloga wraz z zestawem danych jest dostępny pod następującym linkiem
https://github.com/shekharpandey89/logistic-regresja

Monitoring Linux Network Stats
Brief IntroductionIPTRAFVNSTATIFSTATIFTOPRelated articles Brief introduction This tutorial goes deep on network stats for Linux users describin...
Basic Linux Network Commands
The ip commandThe ifconfig commandThe iwconfig commandThe dhclient commandThe route commandThe host commandThe netstat command This tutorial briefly d...
How to Get IP Address in Linux
There are many times when you need to know the IP address of your Linux server or workstation. There are many ways to find the private and public IP a...