Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellung Einer Multiplen Linearen Regression | Multiple Lineare Regression
Lineare Regression mit Python

bookErstellung Einer Multiplen Linearen Regression

Die OLS-Klasse ermöglicht es, Multiple Lineare Regression auf die gleiche Weise wie Einfache Lineare Regression zu erstellen. Leider kann die Funktion np.polyfit() jedoch nicht mit mehreren Merkmalen umgehen.

Wir bleiben bei der OLS-Klasse.

Aufbau der X̃-Matrix

Wir verwenden denselben Datensatz wie im Beispiel zur einfachen linearen Regression, aber nun ist die Körpergröße der Mutter als zweites Merkmal enthalten. Wir laden ihn und betrachten die Variable X:

123456789
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Beachten Sie, dass zur Initialisierung des OLS(y, X_tilde)-Objekts OLS verwendet werden sollte. Wie Sie sehen, enthält die Variable X bereits zwei Merkmale in separaten Spalten. Um X_tilde zu erhalten, müssen wir lediglich eine Spalte mit Einsen als erste Spalte hinzufügen. Die Funktion sm.add_constant(X) übernimmt genau diese Aufgabe!

1234567891011
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] # Create X_tilde X_tilde = sm.add_constant(X) print(X_tilde.head())
copy

Bestimmung der Parameter

Ausgezeichnet! Nun können wir das Modell erstellen, die Parameter bestimmen und Vorhersagen auf die gleiche Weise treffen wie im vorherigen Abschnitt.

12345678910111213141516171819202122
import pandas as pd import statsmodels.api as sm import numpy as np file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde # 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, beta_2 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values X_new = np.array([[65, 62],[70, 65],[75, 70]]) # 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('Predictions:', y_pred)
copy
Note
Hinweis

Da unser Trainingsdatensatz jetzt 2 Merkmale enthält, müssen wir für jede neue Instanz, die wir vorhersagen möchten, 2 Merkmale angeben. Deshalb wurde im obigen Beispiel np.array([[65, 62],[70, 65],[75, 70]]) verwendet. Damit wird y für 3 neue Instanzen vorhergesagt: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Was bewirkt sm.add_constant(X)?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

Suggested prompts:

Can you explain what the X_tilde matrix represents in multiple linear regression?

How does sm.add_constant(X) work and why is it necessary?

What do the beta_0, beta_1, and beta_2 parameters mean in this context?

Awesome!

Completion rate improved to 5.26

bookErstellung Einer Multiplen Linearen Regression

Swipe um das Menü anzuzeigen

Die OLS-Klasse ermöglicht es, Multiple Lineare Regression auf die gleiche Weise wie Einfache Lineare Regression zu erstellen. Leider kann die Funktion np.polyfit() jedoch nicht mit mehreren Merkmalen umgehen.

Wir bleiben bei der OLS-Klasse.

Aufbau der X̃-Matrix

Wir verwenden denselben Datensatz wie im Beispiel zur einfachen linearen Regression, aber nun ist die Körpergröße der Mutter als zweites Merkmal enthalten. Wir laden ihn und betrachten die Variable X:

123456789
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Beachten Sie, dass zur Initialisierung des OLS(y, X_tilde)-Objekts OLS verwendet werden sollte. Wie Sie sehen, enthält die Variable X bereits zwei Merkmale in separaten Spalten. Um X_tilde zu erhalten, müssen wir lediglich eine Spalte mit Einsen als erste Spalte hinzufügen. Die Funktion sm.add_constant(X) übernimmt genau diese Aufgabe!

1234567891011
import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] # Create X_tilde X_tilde = sm.add_constant(X) print(X_tilde.head())
copy

Bestimmung der Parameter

Ausgezeichnet! Nun können wir das Modell erstellen, die Parameter bestimmen und Vorhersagen auf die gleiche Weise treffen wie im vorherigen Abschnitt.

12345678910111213141516171819202122
import pandas as pd import statsmodels.api as sm import numpy as np file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde # 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, beta_2 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values X_new = np.array([[65, 62],[70, 65],[75, 70]]) # 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('Predictions:', y_pred)
copy
Note
Hinweis

Da unser Trainingsdatensatz jetzt 2 Merkmale enthält, müssen wir für jede neue Instanz, die wir vorhersagen möchten, 2 Merkmale angeben. Deshalb wurde im obigen Beispiel np.array([[65, 62],[70, 65],[75, 70]]) verwendet. Damit wird y für 3 neue Instanzen vorhergesagt: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Was bewirkt sm.add_constant(X)?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt