i denne vejledning kan du se, hvordan du udfører flere lineære regression i Python ved hjælp af både sklearn og statsmodels.,s være omfattet:

  1. Gennemgang af eksempel til at blive anvendt i denne tutorial
  2. Kontrol for Linearitet
  3. der Udfører multiple lineær regression i Python
  4. Tilføje en tkinter Grafisk Brugergrænseflade (GUI) til at samle input fra brugerne, og derefter vise den forudsigelse resultater

Ved slutningen af denne tutorial, du vil være i stand til at skabe følgende interface i Python:

Eksempel på Multipel Lineær Regression i Python

I det følgende eksempel vil vi bruge flere lineær regression til at forudsige aktieindeks pris (jeg.,e., den afhængige variabel) af en fiktiv økonomi ved hjælp af 2 uafhængige/input variable:

  • Rentesats
  • Arbejdsløshed

bemærk venligst, at du bliver nødt til at validere at flere forudsætninger er opfyldt, inden du kan anvende lineær regression modeller. Mest bemærkelsesværdigt skal du sørge for, at der findes et lineært forhold mellem den afhængige variabel og den uafhængige variabel/s (mere om det under afsnittet Kontrol af linearitet).,

Lad os nu springe ind i det datasæt, som vi kommer til at bruge:

til At begynde, du kan fange de ovennævnte datasæt i Python, der bruger Pandaer DataFrame (for større datasæt, kan du overveje at importere dine data):

Kontrol for Linearitet

Før du udfører en lineær regressionsmodel, det er tilrådeligt at validere at visse forudsætninger er opfyldt.

som tidligere nævnt kan du kontrollere, at der eksisterer et lineært forhold mellem den afhængige variabel og den uafhængige variabel/s.,

i vores eksempel kan du kontrollere, at der findes et lineært forhold mellem:

for at udføre en hurtig linearitetskontrol kan du bruge scatter diagrammer (ved hjælp af matplotlib-biblioteket). For eksempel, du kan bruge koden nedenfor for at afbilde sammenhængen mellem Stock_Index_Price og Interest_Rate:

Du vil opdage, at faktisk er en lineær sammenhæng mellem Stock_Index_Price og Interest_Rate.,ates gå op, aktieindeks pris går også op:

Og for det andet tilfælde, kan du bruge denne kode for at afbilde sammenhængen mellem Stock_Index_Price og Unemployment_Rate:

Som du kan se, er en lineær sammenhæng også eksisterer mellem Stock_Index_Price og Unemployment_Rate – når arbejdsløsheden går op, aktieindeks prisen går ned (her er vi stadig har en lineær sammenhæng, men med en negativ hældning):

Næste, vi skal til at udføre den egentlige multipel lineær regression i Python.,

udførelse af den multiple lineære Regression

Når du har tilføjet dataene til Python, kan du bruge både sklearn og statsmodels for at få regressionsresultaterne.

begge metoder ville fungere, men lad os gennemgå begge metoder til illustrationsformål.

Du kan derefter kopiere koden nedenfor til Python:

Når du køre kode i Python, vil du observere tre dele:

(1) Den første del viser, at det output, der genereres af sklearn:

Denne udgang indeholder den aflytte og koefficienter., Du kan bruge denne information til at bygge den multiple lineære regressions-ligningen som følger:

Stock_Index_Price = (Intercept) + (Interest_Rate coef)*X1 + (Unemployment_Rate coef)*X2

Og når du sætter numre:

Stock_Index_Price = (1798.4040) + (345.5401)*X1 + (-250.1466)*X2

(2) Den anden del viser den forventede output ved hjælp af sklearn:

Forestil dig, at du ønsker at forudsige aktieindeks pris efter du har indsamlet følgende data:

  • Rente = 2.75 (dvs, X1= 2.75)
  • Arbejdsløsheden = 5.3 (dvs, X2= 5.3)

Hvis du plug, at data i regressionsligningen, vil du få de samme forudsagt resultatet som vises i den anden del:

Stock_Index_Price = (1798.4040) + (345.5401)*(2.75) + (-250.1466)*(5.3) = 1422.86

(3) Den tredje del viser en omfattende oversigt med statistiske oplysninger, der genereres af statsmodels.,

disse oplysninger kan give dig yderligere indsigt om den anvendte model (sådan som den passer til den model, standard fejl, etc.):

Bemærk, at de koefficienter, der er fanget i denne tabel (fremhævet med rødt) match med koefficienter, der genereres af sklearn.

det er et godt tegn! vi fik konsistente resultater ved at anvende både sklearn og statsmodels.

derefter kan du se, hvordan du opretter en GUI i Python for at samle input fra brugere og derefter vise forudsigelsesresultaterne.,

GUI bruges til flere lineære Regression i Python

det er her den virkelige sjov begynder!

hvorfor ikke oprette en grafisk brugergrænseflade (GUI), der giver brugerne mulighed for at indtaste de uafhængige variabler for at få det forudsagte resultat?

det kan være, at nogle af brugerne måske ikke ved meget om at indtaste dataene i selve Python-koden, så det giver mening at oprette dem en enkel grænseflade, hvor de kan administrere dataene på en forenklet måde.,

Du kan endda oprette en batchfil for at starte Python-programmet, og derfor skal brugerne bare dobbeltklikke på batchfilen for at starte GUI ‘ en.

Her er den fulde Python-kode til dit endelige Regression GUI:

Når du kører koden, vil du se denne GUI, som omfatter output genereret af sklearn og scatter diagrammer:

Huske, at der tidligere har vi lavet en forudsigelse ved hjælp af følgende værdier:

  • Rente = 2.75
  • Arbejdsløsheden = 5.,3

Skriv disse værdier i input-felter og derefter klikke på på den “Forudsige aktieindeks Pris” – knappen:

Du vil nu se den forudsagte resultat af 1422.86, som passer med den værdi, du har set før.

Du kan også tjekke følgende vejledning for at lære mere om indlejring af diagrammer på en Tkinter GUI.

konklusion

lineær regression bruges ofte i maskinindlæring. Du har set nogle eksempler på, hvordan du udfører flere lineære regression i Python ved hjælp af både sklearn og statsmodels.,

før du anvender lineære regressionsmodeller, skal du sørge for at kontrollere, at der findes et lineært forhold mellem den afhængige variabel (dvs.hvad du prøver at forudsige) og den uafhængige variabel/s (dvs. inputvariablen / s).