In diesem Tutorial erfahren Sie, wie Sie mehrere lineare Regressionen in Python sowohl mit sklearn als auch mit Statsmodels ausführen.,s behandelt werden:
- Überprüfung des Beispiels, das in diesem Tutorial verwendet werden soll
- Überprüfung der Linearität
- Durchführen der multiplen linearen Regression in Python
- Hinzufügen einer grafischen Benutzeroberfläche (GUI) von tkinter, um Eingaben von Benutzern zu sammeln und dann die Vorhersageergebnisse anzuzeigen
Am Ende dieses Tutorials können Sie die folgende Schnittstelle in Python erstellen:
Beispiel für mehrere lineare Regression in Python
Im folgenden Beispiel werden wir mehrere lineare Regression verwenden, um den Aktienindex Preis vorherzusagen (i.,e., die abhängige Variable) einer fiktiven Wirtschaft unter Verwendung von 2 unabhängigen/Eingangsvariablen:
- Zinssatz
- Arbeitslosenquote
Bitte beachten Sie, dass Sie überprüfen müssen, dass mehrere Annahmen erfüllt sind, bevor Sie lineare Regressionsmodelle anwenden. Insbesondere müssen Sie sicherstellen, dass eine lineare Beziehung zwischen der abhängigen Variablen und der unabhängigen Variablen/s besteht (mehr dazu im Abschnitt Linearitätsprüfung).,
Lassen Sie uns nun in den Datensatz springen, den wir verwenden werden:
Um zu beginnen, können Sie den obigen Datensatz in Python mit Pandas DataFrame erfassen (für größere Datensätze können Sie in Betracht ziehen, Ihre Daten zu importieren):
Überprüfung auf Linearität
Bevor Sie ein lineares Regressionsmodell ausführen, ist es ratsam zu überprüfen, ob bestimmte Annahmen erfüllt sind.
Wie bereits erwähnt, möchten Sie möglicherweise überprüfen, ob eine lineare Beziehung zwischen der abhängigen Variablen und der unabhängigen Variablen/s besteht.,
In unserem Beispiel möchten Sie möglicherweise überprüfen, ob eine lineare Beziehung zwischen den folgenden besteht:
Um eine schnelle Linearitätsprüfung durchzuführen, können Sie Streudiagramme verwenden (unter Verwendung der matplotlib-Bibliothek). Sie können beispielsweise den folgenden Code verwenden, um die Beziehung zwischen Stock_Index_Price und Interest_Rate:
Sie werden feststellen, dass tatsächlich eine lineare Beziehung zwischen Stock_Index_Price und Interest_Rate.,bei einem Anstieg steigt auch der Aktienindexpreis an:
Und im zweiten Fall können Sie diesen Code verwenden, um die Beziehung zwischen Stock_Index_Price und Unemployment_Rate:
Wie Sie sehen können, besteht auch eine lineare Beziehung zwischen Stock_Index_Price und Unemployment_Rate – wenn die Arbeitslosenquoten steigen, sinkt der Aktienindexpreis (
). hier haben wir noch eine lineare Beziehung, aber mit einer negativen Steigung):
Als nächstes werden wir die tatsächliche multiple lineare Regression in Python durchführen.,
Durchführen der multiplen linearen Regression
Sobald Sie die Daten zu Python hinzugefügt haben, können Sie sowohl sklearn als auch statsmodels verwenden, um die Regressionsergebnisse zu erhalten.
Jede Methode würde funktionieren, aber lassen Sie uns beide Methoden zur Veranschaulichung überprüfen.
Sie können dann den folgenden Code in Python kopieren:
Sobald Sie den Code in Python ausführen, werden Sie drei Teile beobachten:
(1) Der erste Teil zeigt die von sklearn generierte Ausgabe an:
Diese Ausgabe enthält den Intercept und die Koeffizienten., Sie können diese Informationen verwenden, um die multiple lineare Regressionsgleichung wie folgt zu erstellen:
Stock_Index_Price = (Intercept) + (Interest_Rate coef)*X1 + (Unemployment_Rate coef)*X2
Und sobald Sie die Zahlen einstecken:
Stock_Index_Price = (1798.4040) + (345.5401)*X1 + (-250.1466)*X2
(2) Der zweite Teil zeigt die vorhergesagte Ausgabe mit sklearn an:
Stellen Sie sich vor, Sie möchten den Aktienindexpreis vorhersagen, nachdem Sie die folgenden Daten gesammelt haben:
- Zinssatz = 2,75 (dh,, X1= 2.75)
- Arbeitslosenquote = 5.3 (dh X2= 5.3)
Wenn Sie diese Daten in die Regressionsgleichung einfügen, erhalten Sie das gleiche vorhergesagte Ergebnis wie im zweiten Teil angezeigt:
Stock_Index_Price = (1798.4040) + (345.5401)*(2.75) + (-250.1466)*(5.3) = 1422.86
(3) Im dritten Teil wird eine umfassende Tabelle mit statistischen Informationen angezeigt, die von statsmodels generiert wurden.,
Diese Informationen können Ihnen zusätzliche Einblicke in das verwendete Modell geben (z. B. Anpassung des Modells, Standardfehler usw.):
Beachten Sie, dass die in dieser Tabelle erfassten Koeffizienten (rot hervorgehoben) mit den von sklearn generierten Koeffizienten übereinstimmen.
Das ist ein gutes Zeichen! wir haben konsistente Ergebnisse erzielt, indem wir sowohl sklearn als auch Statsmodels angewendet haben.
Als nächstes sehen Sie, wie Sie eine GUI in Python erstellen, um Eingaben von Benutzern zu sammeln und dann die Vorhersageergebnisse anzuzeigen.,
GUI für die Multiple lineare Regression in Python verwendet
Hier beginnt der wahre Spaß!
Warum nicht eine grafische Benutzeroberfläche (GUI) erstellen, mit der Benutzer die unabhängigen Variablen eingeben können, um das vorhergesagte Ergebnis zu erhalten?
Es kann sein, dass einige Benutzer möglicherweise nicht viel über die Eingabe der Daten in den Python-Code selbst wissen, daher ist es sinnvoll, eine einfache Schnittstelle zu erstellen, über die sie die Daten auf vereinfachte Weise verwalten können.,
Sie können sogar eine Batch-Datei erstellen, um das Python-Programm zu starten, und so müssen die Benutzer nur auf die Batch-Datei doppelklicken, um die GUI zu starten.
Hier ist der vollständige Python-Code für Ihre ultimative Regressions-GUI:
Sobald Sie den Code ausgeführt haben, sehen Sie diese GUI, die die von sklearn generierte Ausgabe und die Streudiagramme enthält:
Erinnern Sie sich daran, dass wir zuvor eine Vorhersage mit den folgenden Werten gemacht haben:
- Zinssatz = 2,75
- Arbeitslosenquote = 5.,3
Geben Sie diese Werte in die Eingabefelder ein und klicken Sie dann auf die Schaltfläche“Aktienindex-Preis vorhersagen“:
Sie sehen jetzt das vorhergesagte Ergebnis von 1422,86, das mit dem zuvor gesehenen Wert übereinstimmt.
Möglicherweise möchten Sie auch das folgende Tutorial lesen, um mehr über das Einbetten von Diagrammen in eine tkinter-GUI zu erfahren.
Schlussfolgerung
Lineare Regression wird häufig im maschinellen Lernen verwendet. Sie haben einige Beispiele für die Durchführung mehrerer linearer Regressionen in Python mit sklearn und Statsmodels gesehen.,
Bevor Sie lineare Regressionsmodelle anwenden, überprüfen Sie, ob eine lineare Beziehung zwischen der abhängigen Variablen (dh dem, was Sie vorhersagen möchten) und der unabhängigen Variablen/s (dh der Eingabevariablen/s) besteht.