Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellen Einer Linearen Regression mit Statsmodels | Einfache Lineare Regression
Lineare Regression mit Python
course content

Kursinhalt

Lineare Regression mit Python

Lineare Regression mit Python

1. Einfache Lineare Regression
2. Multiple Lineare Regression
3. Polynomiale Regression
4. Das Beste Modell Auswählen

book
Erstellen Einer Linearen Regression mit Statsmodels

Im vorherigen Kapitel haben wir eine Funktion aus NumPy verwendet, um die Parameter zu berechnen.
Jetzt werden wir das Klassenobjekt anstelle der Funktion verwenden, um die lineare Regression darzustellen. Dieser Ansatz erfordert mehr Codezeilen, um die Parameter zu finden, speichert jedoch viele nützliche Informationen im Objekt und vereinfacht die Vorhersage.

Aufbau eines linearen Regressionsmodells

In statsmodels kann die OLS-Klasse verwendet werden, um ein lineares Regressionsmodell zu erstellen.

Zuerst müssen wir ein OLS-Klassenobjekt initialisieren mit sm.OLS(y, X_tilde). Dann trainieren wir es mit der Methode fit().

Was gleichbedeutend ist mit:

Hinweis

Der Konstruktor der OLS-Klasse erwartet ein spezifisches Array X_tilde als Eingabe, das wir in der Normalengleichung gesehen haben. Daher müssen Sie Ihr X-Array in X_tilde umwandeln. Dies ist mit der Funktion sm.add_constant() erreichbar.

Parameter finden

Wenn das Modell trainiert ist, können Sie leicht auf die Parameter über das Attribut params zugreifen.

12345678910111213141516
import statsmodels.api as sm # import statsmodels import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Open the file X, y = df['Father'], df['Height'] # Assign the variables # Get the correct form of input for OLS X_tilde = sm.add_constant(X) # Initialize an OLS object regression_model = sm.OLS(y, X_tilde) # Train the object regression_model = regression_model.fit() # Get the paramters beta_0, beta_1 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1)
copy

Vorhersagen treffen

Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, aber Sie müssen die Eingaben dafür ebenfalls vorverarbeiten:

1234567891011121314151617
import statsmodels.api as sm import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Open the file X, y = df['Father'], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Preprocess regression_model = sm.OLS(y, X_tilde) # Initialize an OLS object regression_model = regression_model.fit() # Train the object # Predict new values X_new = np.array([65,70,75]) # Feature values of new instances X_new_tilde = sm.add_constant(X_new) # Preprocess X_new y_pred = regression_model.predict(X_new_tilde) # Predict the target print(y_pred)
copy

Die Zusammenfassung erhalten

Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Aber die Verwendung von OLS hat ihre Vorteile. Während des Trainings berechnet es viele statistische Informationen. Sie können auf die Informationen mit der Methode summary() zugreifen.

123456789101112
import statsmodels.api as sm import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) # Preprocess X regression_model = sm.OLS(y, X_tilde) # Initialize an OLS object regression_model = regression_model.fit() # Train the object # Print the summary print(regression_model.summary())
copy

Das sind viele Statistiken. Wir werden die wichtigsten Teile der Tabelle in späteren Abschnitten besprechen.

Wählen Sie die FALSCHE Aussage.

Wählen Sie die FALSCHE Aussage.

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt