Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellung 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
Erstellung Einer Linearen Regression Mit Statsmodels

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

Aufbau eines linearen Regressionsmodells

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

Zunächst muss ein Objekt der Klasse OLS initialisiert werden mit sm.OLS(y, X_tilde). Anschließend wird es mit der Methode fit() trainiert.

model = sm.OLS(y, X_tilde)
model = model.fit()

Dies entspricht:

model = sm.OLS(y, X_tilde).fit()
Note
Hinweis

Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, das wir in der Normalengleichung gesehen haben. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.

Parameterermittlung

Nach dem Training des Modells können die Parameter einfach über das Attribut params abgerufen werden.

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 erstellen

Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch müssen auch diese Eingabedaten vorverarbeitet werden:

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

Zusammenfassung abrufen

Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.

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 statistische Kennzahlen. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.

question mark

Wählen Sie die FALSCHE Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

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
Erstellung Einer Linearen Regression Mit Statsmodels

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

Aufbau eines linearen Regressionsmodells

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

Zunächst muss ein Objekt der Klasse OLS initialisiert werden mit sm.OLS(y, X_tilde). Anschließend wird es mit der Methode fit() trainiert.

model = sm.OLS(y, X_tilde)
model = model.fit()

Dies entspricht:

model = sm.OLS(y, X_tilde).fit()
Note
Hinweis

Der Konstruktor der OLS-Klasse erwartet ein bestimmtes Array X_tilde als Eingabe, das wir in der Normalengleichung gesehen haben. Daher muss das X-Array in X_tilde umgewandelt werden. Dies ist mit der Funktion sm.add_constant() möglich.

Parameterermittlung

Nach dem Training des Modells können die Parameter einfach über das Attribut params abgerufen werden.

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 erstellen

Neue Instanzen können einfach mit der Methode predict() vorhergesagt werden, jedoch müssen auch diese Eingabedaten vorverarbeitet werden:

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

Zusammenfassung abrufen

Wie Sie wahrscheinlich bemerkt haben, ist die Verwendung der OLS-Klasse nicht so einfach wie die Funktion polyfit(). Die Nutzung von OLS bietet jedoch Vorteile. Während des Trainings werden zahlreiche statistische Informationen berechnet. Auf diese Informationen kann mit der Methode summary() zugegriffen werden.

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 statistische Kennzahlen. Die wichtigsten Teile der Tabelle werden wir in späteren Abschnitten besprechen.

question mark

Wählen Sie die FALSCHE Aussage aus.

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 4
some-alt