w tym samouczku zobaczysz, jak wykonać wielokrotną regresję liniową w Pythonie przy użyciu zarówno sklearn, jak i statsmodeli.,s do omówienia:

  1. przegląd przykładu używanego w tym samouczku
  2. sprawdzanie liniowości
  3. Wykonywanie wielokrotnej regresji liniowej w Pythonie
  4. 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ą).