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

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

Wir werden bei der OLS-Klasse bleiben.

Aufbau der X̃-Matrix

Wir haben dasselbe Datenset aus dem Beispiel der einfachen linearen Regression, aber es enthält jetzt die Körpergröße der Mutter als zweites Merkmal. Laden wir es und schauen uns die X-Variable an.

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

Denken Sie daran, dass wir OLS(y, X_tilde) verwenden sollten, um das OLS-Objekt zu initialisieren. Wie Sie sehen können, enthält die X-Variable bereits zwei Merkmale in separaten Spalten. Um das X_tilde zu erhalten, müssen wir nur 1en als erste Spalte hinzufügen. Die Funktion sm.add_constant(X) macht genau das!

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

Finden der Parameter

Großartig! Jetzt können wir das Modell erstellen, die Parameter finden und Vorhersagen auf die gleiche Weise treffen, wie wir es im vorherigen Abschnitt getan haben.

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

Hinweis

Da unser Trainingssatz jetzt 2 Merkmale hat, müssen wir 2 Merkmale für jede neue Instanz bereitstellen, die wir vorhersagen möchten. Deshalb wurde np.array([[65, 62],[70, 65],[75, 70]]) im obigen Beispiel verwendet. Es sagt y für 3 neue Instanzen voraus: [Vater:65,Mutter:62], [Vater:70, Mutter:65], [Vater:75, Mutter:70]

Was macht das `sm.add_constant(X)`?

Was macht das sm.add_constant(X)?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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