În acest tutorial, veți vedea cum de a efectua regresie liniară multiplă în Python folosind ambele sklearn și statsmodels.,s pentru a fi acoperite:

  1. Revizuirea exemplu pentru a fi folosit in acest tutorial
  2. Verificarea Liniarității
  3. Efectuarea de regresie liniară multiplă în Python
  4. Adaugarea unui tkinter Interfata Grafica cu Utilizatorul (GUI) pentru a aduna informații de la utilizatori, și apoi a afișa predicția rezultatelor

Până la sfârșitul acestui tutorial, veți fi capabil de a crea următoarea interfață în Python:

Exemplu de Regresie Liniară Multiplă în Python

În următorul exemplu, vom folosi de regresie liniară multiplă pentru a prezice indicele bursier de preț (am.,e., variabila dependentă) a unei economii fictive folosind 2 variabile independente/de intrare:

  • rata dobânzii
  • rata șomajului

vă rugăm să rețineți că va trebui să validați că mai multe ipoteze sunt îndeplinite înainte de a aplica modele de regresie liniară. Mai ales, trebuie să vă asigurați că există o relație liniară între variabila dependentă și variabila independentă/s (mai multe despre aceasta în secțiunea Verificarea liniarității).,

acum Să sară în setul de date pe care o vom folosi:

Pentru a începe, veți putea captura de mai sus set de date în Python folosind Panda DataFrame (mai mari seturi de date, puteți lua în considerare pentru a importa date):

Verificare pentru Liniaritate

Înainte de a executa un model de regresie liniară, este recomandabil de a valida faptul că anumite ipoteze sunt îndeplinite.după cum sa menționat mai devreme, poate doriți să verificați dacă există o relație liniară între variabila dependentă și variabila independentă/s.,

în exemplul nostru, poate doriți să verificați dacă există o relație liniară între:

pentru a efectua o verificare rapidă a liniarității, puteți utiliza diagrame scatter (utilizând biblioteca matplotlib). De exemplu, puteți folosi codul de mai jos pentru a evalua relația dintre Stock_Index_Price și Interest_Rate:

Veți observa că într-adevăr există o relație liniară între Stock_Index_Price și Interest_Rate.,ates merge în sus, indicele bursier de preț, de asemenea, merge în sus:

Și pentru cel de-al doilea caz, puteți folosi acest cod pentru a evalua relația dintre Stock_Index_Price și Unemployment_Rate:

după Cum puteți vedea, o relație liniară, de asemenea, există între Stock_Index_Price și Unemployment_Rate – când rata șomajului a merge în sus, indicele bursier de preț merge în jos (aici avem încă o relație liniară, dar cu o pantă negativă):

Apoi, am de gând pentru a efectua efectiv de regresie liniară multiplă în Python.,

Efectuarea de Regresie Liniară Multiplă

Odată ce ai adăugat date în Python, puteți folosi ambele sklearn și statsmodels pentru a obține rezultatele regresiei.

orice metodă ar funcționa, dar să revizuim ambele metode în scopuri ilustrative.după ce rulați codul în Python, veți observa trei părți:

(1) Prima parte arată ieșirea generată de sklearn:

această ieșire include interceptarea și coeficienții., Puteți utiliza aceste informații pentru a construi ecuația de regresie liniară multiplă, după cum urmează:

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

Și odată ce vă conectați numerele:

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

(2) partea A doua afișează prezis de ieșire folosind sklearn:

Imaginați-vă că doriți să prezică indicele bursier de preț după ce a colectat următoarele date:

  • Rata Dobânzii = 2.75 (de exemplu,,, X1= 2.75)
  • Rata Șomajului = 5.3 (de exemplu, X2= 5.3)

Dacă vă introduc în ecuația de regresie, veți obține același rezultat prezis ca afișat în partea a doua:

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

(3) partea A treia afișează un tabel cuprinzător cu informații statistice generate de statsmodels.,

aceste informații pot oferi perspective suplimentare despre modelul utilizat (cum ar fi de potrivire de model, standard, erori, etc):

Observați că coeficienții capturat în acest tabel (evidențiat cu roșu) se potrivesc cu coeficienții generate de sklearn.

acesta este un semn bun! am obținut rezultate consistente prin aplicarea atât sklearn și statsmodels.

în continuare, veți vedea cum să creați o interfață grafică în Python pentru a colecta date de la utilizatori, apoi să afișați rezultatele predicțiilor.,

GUI folosit pentru regresia liniară multiplă în Python

aici începe distracția reală!

De ce să nu creați o interfață grafică de utilizator (GUI) care să permită utilizatorilor să introducă variabilele independente pentru a obține rezultatul prezis?este posibil ca unii dintre utilizatori să nu știe prea multe despre introducerea datelor în codul Python în sine, deci este logic să le creați o interfață simplă în care să poată gestiona datele într-o manieră simplificată.,puteți crea chiar și un fișier batch pentru a lansa programul Python, astfel încât utilizatorii vor trebui doar să facă dublu clic pe fișierul batch pentru a lansa GUI.

Aici este plin cod Python pentru final de Regresie GUI:

Odată ce ați rula codul, veți vedea acest GUI, care include producția generată de sklearn și diagrame scatter:

Reamintim că mai devreme am făcut o predicție folosind următoarele valori:

  • Rata Dobânzii = 2.75
  • Rata Șomajului = 5.,3

Tip acele valori în casetele de intrare, și apoi faceți clic pe ‘Prezice Indicele Bursier de Preț butonul:

acum Veți vedea rezultatul prezis de 1422.86, care se potrivește cu valoarea pe care ați văzut-o înainte.

de asemenea, poate doriți să verificați următorul tutorial pentru a afla mai multe despre încorporarea diagrame pe un tkinter interfata grafica.

concluzie

regresia liniară este adesea folosită în învățarea automată. Ați văzut câteva exemple de modul de a efectua regresie liniară multiplă în Python folosind atât sklearn și statsmodels.,înainte de a aplica modele de regresie liniară, asigurați-vă că verificați dacă există o relație liniară între variabila dependentă (adică ceea ce încercați să preziceți) și variabila independentă/s (adică variabila de intrare/s).