In deze tutorial zult u zien hoe u meerdere lineaire regressie in Python uitvoert met behulp van zowel sklearn als statsmodellen.,s die behandeld moeten worden:

  1. het voorbeeld dat in deze tutorial gebruikt moet worden herzien
  2. lineariteit controleren
  3. de meervoudige lineaire regressie uitvoeren in Python
  4. een grafische gebruikersinterface (GUI) toevoegen om input van gebruikers te verzamelen en dan de voorspellings resultaten weer te geven

aan het einde van deze tutorial kunt u de volgende interface in Python aanmaken:

voorbeeld van meerdere lineaire regressie in Python

in het volgende voorbeeld zullen we meerdere lineaire regressie gebruiken om de aandelenindex prijs te voorspellen (I.,e., de afhankelijke variabele) van een fictieve economie door gebruik te maken van 2 onafhankelijke/inputvariabelen:

  • rente
  • werkloosheidscijfer

houd er rekening mee dat u moet valideren dat aan verschillende aannames is voldaan voordat u Lineaire regressiemodellen toepast. Het belangrijkste is dat je er zeker van moet zijn dat er een lineaire relatie bestaat tussen de afhankelijke variabele en de onafhankelijke variabele/s (meer hierover onder de lineariteitscontrole sectie).,

laten we nu springen in de dataset die we zullen gebruiken:

om te beginnen kunt u de bovenstaande dataset vastleggen in Python met behulp van Panda ‘ s DataFrame (voor grotere datasets kunt u overwegen uw gegevens te importeren):

controleren op lineariteit

voordat u een lineair regressiemodel uitvoert, is het het is raadzaam om te valideren dat aan bepaalde aannames wordt voldaan.

zoals eerder opgemerkt, kunt u controleren of er een lineaire relatie bestaat tussen de afhankelijke variabele en de onafhankelijke variabele/s.,

in ons voorbeeld kunt u controleren of er een lineaire relatie bestaat tussen de:

om een snelle lineariteit controle uit te voeren, kunt u scatter diagrammen gebruiken (met behulp van de matplotlib bibliotheek). U kunt bijvoorbeeld de onderstaande code gebruiken om de relatie tussen de Stock_Index_Price en de Interest_Rate te plotten:

u zult merken dat er inderdaad een lineaire relatie bestaat tussen de Stock_Index_Price en de Interest_Rate.,ates omhoog gaan, de stock index prijs ook omhoog gaat:

En voor het tweede geval, dan kunt u deze code gebruiken om de grafiek van de relatie tussen de Stock_Index_Price en de Unemployment_Rate:

Zoals je kan zien, een lineaire relatie bestaat tussen de Stock_Index_Price en de Unemployment_Rate – wanneer de werkloosheid tarieven gaan omhoog, de stock index prijs naar beneden gaat (hier hebben we nog steeds een lineaire relatie, maar met een negatieve helling):

Vervolgens gaan we naar de feitelijke meervoudige lineaire regressie in Python.,

het uitvoeren van de meerdere lineaire regressie

zodra u de gegevens aan Python hebt toegevoegd, kunt u zowel sklearn als statsmodels gebruiken om de regressieresultaten te krijgen.

beide methoden zouden werken, maar laten we beide methoden bekijken voor illustratiedoeleinden.

u kunt de onderstaande code in Python kopiëren:

zodra u de code in Python uitvoert, zult u drie delen waarnemen:

(1) het eerste deel toont de uitvoer gegenereerd door sklearn:

deze uitvoer bevat de intercept en coëfficiënten., U kan deze informatie gebruiken om te bouwen van de meervoudige lineaire regressie-vergelijking als volgt:

Stock_Index_Price = (Intercept) + (Interest_Rate coëfficiënt)*X1 + (Unemployment_Rate coëfficiënt)*X2

En zodra u de stekker van de nummers:

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

(2) Het tweede deel toont de voorspelde output met behulp van sklearn:

Stel je voor dat je wilt voorspellen van de stock index prijs na u de volgende data verzameld:

  • – de Rentevoet = 2.75 (i.e.,, X1= 2.75)
  • Werkloosheid = 5.3 (i.e., X2= 5.3)

Als u de stekker die gegevens in de regressievergelijking, krijg je het zelfde voorspelde resultaat zoals weergegeven in het tweede deel:

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

(3) Het derde deel geeft een uitgebreide tabel met statistische gegevens gegenereerd door statsmodels.,

Deze informatie kan u aanvullende inzichten geven over het gebruikte model (zoals de pasvorm van het model, standaardfouten, enz.):

merk op dat de coëfficiënten die in deze tabel worden vastgelegd (in rood gemarkeerd) overeenkomen met de coëfficiënten die door sklearn worden gegenereerd.

dat is een goed teken! we hebben consistente resultaten behaald door zowel sklearn als statsmodels toe te passen.

vervolgens zult u zien hoe u een GUI in Python maakt om input van gebruikers te verzamelen en vervolgens de voorspellings resultaten weer te geven.,

GUI gebruikt voor de meervoudige lineaire regressie in Python

Dit is waar het echte plezier begint!

waarom maakt u geen grafische gebruikersinterface (GUI) waarmee gebruikers de onafhankelijke variabelen kunnen invoeren om het voorspelde resultaat te krijgen?

Het kan zijn dat sommige gebruikers niet veel weten over het invoeren van de gegevens in de Python-code zelf, dus is het zinvol om ze een eenvoudige interface te maken waar ze de gegevens op een vereenvoudigde manier kunnen beheren.,

u kunt zelfs een batch-bestand aanmaken om het Python-programma te starten, en dus hoeven de gebruikers alleen maar op het batch-bestand te dubbelklikken om de GUI te starten.

Hier is de volledige Python-code voor uw Ultimate Regression GUI:

zodra u de code uitvoert, zult u deze GUI zien, die de output bevat die door sklearn wordt gegenereerd en de scatterdiagrammen:

herinner eraan dat we eerder een voorspelling hebben gedaan met behulp van de volgende waarden:

  • rente = 2.75
  • werkloosheidspercentage = 5.,3

Typ deze waarden in de invoervakken en klik vervolgens op de knop ‘aandelenindex voorspellen’:

u ziet nu het voorspelde resultaat van 1422.86, dat overeenkomt met de waarde die u eerder zag.

u kunt ook de volgende tutorial bekijken voor meer informatie over het inbedden van grafieken op een Tkinter GUI.

conclusie

lineaire regressie wordt vaak gebruikt in Machine Learning. Je hebt een aantal voorbeelden gezien van het uitvoeren van meerdere lineaire regressie in Python met behulp van zowel sklearn en statsmodels.,

voordat u Lineaire regressiemodellen toepast, moet u controleren of er een lineaire relatie bestaat tussen de afhankelijke variabele (d.w.z. wat u probeert te voorspellen) en de onafhankelijke variabele (d.w.z. de invoervariabele (s)).