I denne opplæringen vil du se hvordan for å utføre multippel lineær regresjon i Python bruker både sklearn og statsmodels.,s å være dekket:
- Gjennomgår eksempel å bli brukt i denne opplæringen
- ved å merke av for Linearitet
- Utføre multippel lineær regresjon i Python
- for å Legge til en tkinter Graphical User Interface (GUI) for å samle innspill fra brukere, og deretter vise prediksjon resultater
Ved slutten av denne opplæringen, du vil være i stand til å lage følgende grensesnitt i Python:
Eksempel av Multippel Lineær Regresjon i Python
I følgende eksempel vil vi bruke multippel lineær regresjon for å forutsi stock index pris (jeg.,e., den avhengige variabelen) av en fiktiv økonomi ved hjelp av 2 uavhengige/input variabler:
- Renten
- Arbeidsledigheten
Vær oppmerksom på at du er nødt til å validere at en rekke forutsetninger er oppfylt før du kan bruke lineære regresjonsmodeller. Mest merkbart er at du må sørge for at en lineær relasjon eksisterer mellom den avhengige variabelen og den uavhengige variabelen/s (mer om det under kontroll for linearitet avsnitt).,
La oss nå hoppe inn i datasettet som vi skal bruke:
for Å starte, kan du ta over dataset i Python bruker Pandaer DataFrame (for større datasett, kan du vurdere å importere data):
se etter Linearitet
Før du utfører en lineær regresjonsmodell, det er tilrådelig å validere at visse forutsetninger er oppfylt.
Som nevnt tidligere, er du kanskje ønsker å sjekke at en lineær relasjon eksisterer mellom den avhengige variabelen og den uavhengige variabelen/s.,
I vårt eksempel, ønsker du kanskje å sjekke at et lineært forhold eksisterer mellom:
for Å utføre en rask linearitet kontroller, kan du bruke scatter-diagrammer (utnytte matplotlib bibliotek). For eksempel kan du bruke koden under for å plotte forholdet mellom Stock_Index_Price og Interest_Rate:
vil Du legge merke til at det faktisk er en lineær relasjon eksisterer mellom Stock_Index_Price og Interest_Rate.,ates gå opp, stock index pris også går opp:
Og for det andre tilfellet, kan du bruke denne koden for å plotte forholdet mellom Stock_Index_Price og Unemployment_Rate:
Som du kan se, er en lineær sammenheng også eksisterer mellom Stock_Index_Price og Unemployment_Rate – når arbeidsledigheten prisene går opp, stock index-prisen går ned (her er vi fortsatt har en lineær sammenheng, men med en negativ helning):
Neste, vi kommer til å utføre den faktiske multippel lineær regresjon i Python.,
Utføre Multippel Lineær Regresjon
Når du har lagt dataene inn i Python, du kan bruke både sklearn og statsmodels å få regresjon resultater.
uansett hvilken metode ville fungere, men la oss se på både metoder for illustrasjonsformål.
Du kan deretter kopier koden nedenfor til Python:
Når du kjører kode i Python, vil du observere tre deler:
(1) Den første delen viser utdata som er generert av sklearn:
Dette utgang omfatter fange opp og koeffisienter., Du kan bruke denne informasjonen til å bygge de flere lineære regresjonsligningen som følger:
Stock_Index_Price = (Intercept) + (Interest_Rate coef)*X1 + (Unemployment_Rate coef)*X2
Og når du kobler tallene:
Stock_Index_Price = (1798.4040) + (345.5401)*X1 + (-250.1466)*X2
(2) Den andre delen viser den anslåtte ut med sklearn:
Tenk deg at du ønsker å forutsi stock index pris når du har samlet inn følgende data:
- Rente = 2.75 (dvs.,, X1= 2.75)
- Arbeidsledigheten = 5.3 (dvs., X2= 5.3)
Hvis du kobler til data i regresjonsligningen, vil du få samme spådd resultatet som vises i den andre delen:
Stock_Index_Price = (1798.4040) + (345.5401)*(2.75) + (-250.1466)*(5.3) = 1422.86
(3) Den tredje delen viser en omfattende tabell med statistisk informasjon generert av statsmodels.,
Denne informasjonen kan gi deg ytterligere innsikt om modellen som brukes (for eksempel tilpasning av modellen, standard feil, etc.):
legg Merke til at koeffisientene fanget i denne tabellen (uthevet i rødt) samsvarer med koeffisienter som er generert av sklearn.
Det er et godt tegn! vi fikk konsistente resultater ved å anvende både sklearn og statsmodels.
Neste, du vil se hvordan du oppretter et GUI i Python for å samle innspill fra brukere, og deretter vise prediksjon resultater.,
GUI brukt for Multippel Lineær Regresjon i Python
Dette er hvor den virkelige moroa begynner!
Hvorfor ikke lage et Grafisk Brukergrensesnitt (GUI) som vil tillate brukere å legge inn den uavhengige variabler for å få det forventede resultatet?
Det kan være at noen av brukerne ikke vet mye om å legge inn data i Python-koden selv, så er det fornuftig å lage dem et enkelt grensesnitt hvor de kan behandle dataene på en forenklet måte.,
Du kan til og med opprette en satsvis fil for å starte Python-program, og så vil brukerne trenger bare å dobbeltklikke på den satsvise filen for å starte det grafiske BRUKERGRENSESNITTET.
Her er det full Python-koden for din ultimate Regresjon GUI:
Når du kjører koden, vil du se dette GUI, som inneholder utdokumentet som genereres av sklearn og scatter-diagrammer:
Huske at det tidligere har vi laget en prediksjon ved hjelp av følgende verdier:
- Rente = 2.75
- Arbeidsledigheten = 5.,3
Skriv inn disse verdiene i felt, og klikk deretter på ‘Forutsi Stock Index Prisen» – knappen:
vil Du nå se det forventede resultat av 1422.86, som samsvarer med verdien du har sett før.
Du kan også være lurt å sjekke følgende opplæringen for å lære mer om innbygging av kartene på en tkinter GUI.
Konklusjon
Lineær regresjon er ofte brukt i maskinlæring. Du har sett noen eksempler på hvordan du kan utføre multippel lineær regresjon i Python bruker både sklearn og statsmodels.,
Før du bruker lineær regresjon modeller, sørg for å sjekke at en lineær relasjon eksisterer mellom den avhengige variabel (dvs., hva du prøver å forutsi) og den uavhengige variabelen/s (dvs., input variable/s).