Scipy logistyczna regresja

Scipy logistyczna regresja
Popularność uczenia maszynowego i nauki danych rośnie codziennie od czasu, gdy ilość tworzonych danych, wydajne algorytmy do zarządzania i pracy z tymi danymi oraz siła siły obliczania stale rośnie. Klasyfikacja danych za pomocą metody regresji logistycznej jest jednym z podstawowych i podstawowych obszarów uczenia maszynowego. W tym artykule wyjaśnimy, czym jest klasyfikacja danych, czym jest regresja logistyczna i jak są one wdrażane w programie Python. Wykazamy kilka przykładów i wyjaśnimy każdą część indywidualnie, aby pomóc Ci zrozumieć, w jaki sposób możesz wdrożyć regresję logistyczną w Python.

Co to jest klasyfikacja?

Po pierwsze, aby zaimplementować wszystko w Python lub w jakimkolwiek innym języku programowania, musisz zrozumieć jego podstawową funkcjonalność, abyś mógł skutecznie napisać dla niego kod. Więc najpierw wyjaśnijmy koncepcję klasyfikacji, a następnie przejdź do wdrożenia regresji logistycznej za pomocą funkcji biblioteki Scipy.

W nauce danych i uczeniu maszynowym klasyfikacja jest podffiskiem nadzorowanego uczenia maszynowego, które przewiduje kategorię lub klasę, do której należą jednostka. Analizuje gromadzenie obserwacji poprzez matematycznie opisując zależność między danymi wejściowymi i wyjściowymi. Tworzy połączenie lub związek między zmiennymi zależnymi i niezależnymi i robi to poprzez pracę z oboma. Może być stosowany w różnych dziedzinach technologii i nauki do różnych celów, takich jak rozpoznawanie obrazu, klasyfikacja tekstu itp.

Co to jest regresja logistyczna?

Regresja logistyczna jest nadzorowaną techniką uczenia maszynowego do klasyfikacji, która jest porównywalna z regresją liniową i jest członkiem klasy klasyfikatorów liniowych. Jest to bardzo wygodna, nieskomplikowana i szybka metoda interpretacji wyników. Można go nie tylko użyć do klasyfikacji binarnej, ale także problemów wieloklasowych. W matematyce regresja logistyczna działa z logarytmem naturalnym i funkcjami sigmoidalnymi. Funkcja sigmoidalna jest krzywą w kształcie litery S zmiennej, która ma 0 lub 1 w prawie wszystkich domenach. Podczas gdy logarytm naturalny jest logarytmem liczby do swojej podstawy.

Czym jest regresja logistyczna w Scipy Python?

Idea regresji logistycznej jest taka sama w Scipy Python, jak rozmawialiśmy wcześniej. Biblioteka Scipy zapewnia funkcję logistic () do obliczenia regresji logistycznej w programie Python. Wyjaśnimy niektóre typowe przypadki regresji logistycznej za pomocą przykładów. Ale wcześniej nauczmy się i zrozummy składnię funkcji logistycznej dostarczonej przez bibliotekę Scipy.

Składnia funkcji Scipy Logistic () w Pythonie

Funkcja logistic () biblioteki Scipy jest używana do generowania ciągłych zmiennych losowych i działa z metodami klasy RV_Continous. Dziedziczy wszystkie metody, cechy i funkcje klasy RV_Continous, aby wypełnić określone szczegóły regresji logistycznej. Funkcja logistic () wykorzystuje następującą funkcję gęstości prawdopodobieństwa:

Który jest szczególnym przypadkiem genlogistycznego z C = 1. Zobacz składnię funkcji logistycznej za pomocą metod klasy RV_Continous poniżej:

Tutaj obiekt „logistic_gen” odnosi się do jednej z metod klasy RV_Contous. Niektóre metody klasy RV_Contouse to PPF, PDF, CDF, LOGPDF, RVS, SF, ISF itp. Przejdźmy teraz do sekcji przykładów, aby dowiedzieć się, jak wdrożyć funkcję logistic () w programie Python.

Przykład 1:

Rozważ przykładowy kod podany poniżej, aby zrozumieć działanie funkcji logistic () biblioteki Scipy. Tutaj implementujemy funkcję logistic () metodami PPF i PDF. PPF oznacza funkcję punktu procentowego, która jest używana do uzyskania percentyla danych, a PDF oznacza funkcję gęstości prawdopodobieństwa i jest używany do uzyskania gęstości prawdopodobieństwa danych. Zobacz przykładowy kod podany poniżej, a następnie wyjaśnimy każdą część krok po kroku:

importować Numpy jako NP
od Scipy.Statystyki importowe logistyczne
importować matplotlib.Pyplot as Plt
Ryc, ax = plt.wątki (1, 1)
x = np.Linspace (logistyczny.PPF (0.02),
logistyka.PPF (0.98), 100)
topór.Wykres (x, logistyczny.PDF (x),
„R”, LW = 8, alfa = 0.4, etykieta = „logistyczny pdf”)
RV = logistic ()
topór.fabuła (x, rv.pdf (x), „k”, lw = 3, etykieta = „zamrożony pdf”)
topór.legenda (loc = „best”)
plt.pokazywać()

Porozmawiajmy najpierw o bibliotekach, a potem resztę programu. Potrzebujemy biblioteki Numpy do generowania i przechowywania danych w obiekcie Numpy. Potrzebujemy biblioteki scipy, aby użyć funkcji jej pakietu statystyk. Potrzebujemy biblioteki MATPlotlib do wykreślania danych na wykresie. Dlatego importowaliśmy wszystkie trzy biblioteki wraz z powiązanymi pakietami i funkcjami, których będziemy potrzebować dalej. Następnie rozmiar 1 x1 do wykreślania wykresu jest zdefiniowany przez wątek (1, 1). Zmienna x przechowuje dane dla funkcji gęstości prawdopodobieństwa, która zapewni logistyczne pdf. Logistyczny pdf został zamrożony w zmiennym RV i oba wyniki zostały przekazane do funkcji PITH (), więc wyświetlaj je na wykresie. Teraz zobaczmy wykres wygenerowany poniżej:

Przykład 2:

Wcześniej zaimplementowaliśmy funkcję PDF do generowania regresji logistycznej, a następnie jej zamrozili. Porównajmy teraz wynik metody CDF z metodą PDF w tym przykładzie. Rozważ przykładowy kod podany w fragmencie kodu poniżej:

importować Numpy jako NP
od Scipy.Statystyki importowe logistyczne
importować matplotlib.Pyplot as Plt
Ryc, ax = plt.wątki (1, 1)
x = np.Linspace (logistyczny.PPF (0.02),
logistyka.PPF (0.98), 100)
topór.Wykres (x, logistyczny.PDF (x),
„R”, LW = 8, alfa = 0.4, etykieta = „logistyczny pdf”)
RV = logistic ()
topór.fabuła (x, rv.pdf (x), „k”, lw = 3, etykieta = „zamrożony pdf”)
Vals = logistyka.PPF ([0.001, 1, 0.999])
NP.alllose ([0.001, 1, 0.999], logistyczny.CDF (Vals))
r = logistyka.RVS (rozmiar = 1000)
topór.Hist (r, gęstość = true, histtype = „krasno”, alfa = 0.5)
topór.legenda (loc = „best”, frameon = false)
plt.pokazywać()

Pierwsza sekcja programu jest taka sama, jak zdefiniowaliśmy w poprzednim przykładzie. Wdrożenie metody CDF zostało dodane do tego programu. Aby porównać wiersz logistycznego PDF, wygenerowaliśmy histogram metody CDF. Zobaczmy wykres podany na zrzucie ekranu poniżej:

Przykład 3:

Zaimplementujmy inną metodę klasy RV_Contous, aby zrozumieć działanie funkcji logistic (). Rozważ przykładowy kod podany w fragmencie kodu poniżej:

importować Numpy jako NP
od Scipy.Statystyki importowe logistyczne
importować matplotlib.Pyplot as Plt
Ryc, ax = plt.wątki (1, 1)
x = np.Linspace (logistyczny.PPF (0.02),
logistyka.PPF (0.98), 100)
topór.Wykres (x, logistyczny.PDF (x),
„R”, LW = 8, alfa = 0.4, etykieta = „logistyczny pdf”)
RV = logistic ()
topór.fabuła (x, rv.pdf (x), „k”, lw = 3, etykieta = „zamrożony pdf”)
Vals = logistyka.PPF ([0.001, 1, 0.999])
NP.alllose ([0.001, 1, 0.999], logistyczny.logcdf (Vals))
r = logistyka.RVS (rozmiar = 1000)
topór.Hist (r, gęstość = true, histtype = „krasno”, alfa = 0.5)
topór.legenda (loc = „best”, frameon = false)
plt.pokazywać()

Użyliśmy tego samego programu, co w poprzednich przykładach, właśnie zastąpiliśmy metodę CDF metodą LogCDF. Porównajmy teraz wyniki metody CDF i metody logCDF, porównując wyniki obu programów. Zobacz wynik podany poniżej:

Wniosek

Ten przewodnik podał krótki przegląd funkcji regresji logistycznej dostarczonej przez SCIPY Library. Nadzorowane podejście do uczenia maszynowego oferowane w grupie klasyfikacyjnej to regresja logistyczna. Regresja logistyczna jest jedną z jej ważnych technik, a klasyfikacja jest również ważnym zastosowaniem uczenia maszynowego. Wykazaliśmy kilka przykładów, aby pokazać, jak zaimplementować funkcję logistic () biblioteki Scipy.