w tym samouczku zobaczysz, jak wykonać wielokrotną regresję liniową w Pythonie przy użyciu zarówno sklearn, jak i statsmodeli.,s do omówienia:
- przegląd przykładu używanego w tym samouczku
- sprawdzanie liniowości
- Wykonywanie wielokrotnej regresji liniowej w Pythonie
- dodawanie graficznego interfejsu użytkownika tkinter (GUI) w celu zebrania danych wejściowych od użytkowników, a następnie wyświetlanie wyników przewidywania
pod koniec tego samouczka będziesz mógł utworzyć następujący interfejs w Pythonie:
przykład wielokrotnej regresji liniowej w Pythonie
w poniższym przykładzie użyjemy wielokrotnej regresji liniowej do przewidywania ceny indeksu giełdowego (i.,e., zmienna zależna) fikcyjnej gospodarki za pomocą 2 niezależnych / zmiennych wejściowych:
- stopa procentowa
- stopa bezrobocia
należy pamiętać, że przed zastosowaniem modeli regresji liniowej konieczne będzie potwierdzenie spełnienia kilku założeń. Przede wszystkim musisz upewnić się, że istnieje zależność liniowa między zmienną zależną a zmienną niezależną/s (więcej na ten temat w sekcji Sprawdzanie liniowości).,
przejdźmy teraz do zbioru danych, którego będziemy używać:
aby rozpocząć, możesz przechwycić powyższy zbiór danych w Pythonie za pomocą ramki danych Pandas (w przypadku większych zbiorów danych możesz rozważyć zaimportowanie danych):
sprawdzanie liniowości
przed wykonaniem modelu regresji liniowej zaleca się aby potwierdzić, że pewne założenia są spełnione.
jak wspomniano wcześniej, możesz sprawdzić, czy istnieje zależność liniowa między zmienną zależną a zmienną niezależną/zmiennymi.,
w naszym przykładzie możesz sprawdzić, czy istnieje zależność liniowa między:
aby szybko sprawdzić liniowość, możesz użyć diagramów rozproszonych (korzystając z biblioteki matplotlib). Na przykład, możesz użyć poniższego kodu, aby narysować relację między Stock_Index_Price i Interest_Rate:
zauważysz, że rzeczywiście istnieje liniowa zależność między Stock_Index_Price i Interest_Rate.,ates idą w górę, cena indeksu akcji również idzie w górę:
i w drugim przypadku, możesz użyć tego kodu, aby narysować zależność między Stock_Index_Price i Unemployment_Rate:
jak widzisz, istnieje również liniowa zależność między Stock_Index_Price i Unemployment_Rate – gdy stopa bezrobocia wzrasta, stopa bezrobocia rośnie.cena indeksu akcji spada (tutaj nadal mamy relację liniową, ale z ujemnym nachyleniem):
następnie wykonamy rzeczywistą wielokrotną regresję liniową w Pythonie.,
Wykonywanie wielokrotnej regresji liniowej
Po dodaniu danych do Pythona, możesz użyć zarówno sklearn, jak i statsmodels, aby uzyskać wyniki regresji.
obie metody by zadziałały, ale przejrzyjmy obie metody dla celów ilustracyjnych.
możesz skopiować poniższy kod do Pythona:
Po uruchomieniu kodu w Pythonie zauważysz trzy części:
(1) Pierwsza część pokazuje wyjście wygenerowane przez skleparn:
to wyjście zawiera przechwycenie i współczynniki., Możesz użyć tych informacji do zbudowania wielokrotnego równania regresji liniowej w następujący sposób:
Stock_Index_Price = (Intercept) + (Interest_Rate coef)*X1 + (Unemployment_Rate coef)*X2
i po podłączeniu numerów:
Stock_Index_Price = (1798.4040) + (345.5401)*X1 + (-250.1466)*x2
(2) Druga część wyświetla przewidywane wyniki za pomocą sklepu:
wyobraź sobie, że chcesz przewidzieć cenę indeksu akcji po zebraniu następujących danych:
- oprocentowanie = 2,75 (tj.,, X1= 2.75)
- stopa bezrobocia = 5.3 (tj. X2= 5.3)
jeśli podłączysz te dane do równania regresji, otrzymasz taki sam przewidywany wynik, jak wyświetlony w drugiej części:
Stock_Index_Price = (1798.4040) + (345.5401)*(2.75) + (-250.1466)*(5.3) = 1422.86
(3) Trzecia część wyświetla obszerną tabelę z informacjami statystycznymi generowanymi przez modele statsmodel.,
informacje te mogą dostarczyć dodatkowych informacji na temat zastosowanego modelu (np. dopasowanie modelu, błędy standardowe itp.):
zauważ, że współczynniki uchwycone w tej tabeli (podświetlone na czerwono) są zgodne ze współczynnikami wygenerowanymi przez sklepn.
to dobry znak! uzyskaliśmy spójne wyniki, stosując zarówno modele sklearn, jak i statsmodele.
następnie zobaczysz, jak utworzyć GUI w Pythonie, aby zebrać dane wejściowe od użytkowników, a następnie wyświetlić wyniki przewidywania.,
GUI używane do wielokrotnej regresji liniowej w Pythonie
tutaj zaczyna się prawdziwa zabawa!
Dlaczego nie stworzyć graficznego interfejsu użytkownika (GUI), który pozwoli użytkownikom na wprowadzanie niezależnych zmiennych w celu uzyskania przewidywanego wyniku?
może być tak, że niektórzy użytkownicy mogą nie wiedzieć zbyt wiele o wprowadzaniu danych w samym kodzie Pythona, więc warto stworzyć im prosty interfejs, w którym mogą zarządzać danymi w uproszczony sposób.,
Możesz nawet utworzyć plik wsadowy, aby uruchomić program Pythona, więc użytkownicy będą musieli dwukrotnie kliknąć plik wsadowy, aby uruchomić GUI.
Oto Pełny kod Pythona dla GUI ultimate Regression:
Po uruchomieniu kodu zobaczysz ten GUI, który zawiera dane wyjściowe wygenerowane przez skleparn i diagramy punktowe:
przypomnij sobie, że wcześniej dokonaliśmy prognozy przy użyciu następujących wartości:
- stopa procentowa = 2.75
- stopa bezrobocia = 5.,3
wpisz te wartości w polach wejściowych, a następnie kliknij przycisk”Predict Stock Index Price”:
zobaczysz przewidywany wynik 1422,86, który odpowiada wartości, którą widziałeś wcześniej.
Możesz również sprawdzić poniższy samouczek, aby dowiedzieć się więcej o osadzaniu Wykresów w interfejsie graficznym tkinter.
wnioski
regresja liniowa jest często stosowana w uczeniu maszynowym. Widziałeś kilka przykładów jak wykonać wielokrotną regresję liniową w Pythonie przy użyciu zarówno sklearn jak i statsmodeli.,
przed zastosowaniem modeli regresji liniowej upewnij się, że istnieje zależność liniowa między zmienną zależną (tzn. co próbujesz przewidzieć) a zmienną niezależną (tzn. zmienną wejściową).