Erstellung Einer Multiplen Linearen Regression
Die Klasse LinearRegression ermöglicht den Aufbau einer multiplen linearen Regression auf die gleiche Weise wie bei der einfachen linearen Regression. Sie verarbeitet automatisch mehrere Merkmale (Spalten) in der Eingabematrix.
Datenvorbereitung
Wir verwenden denselben Datensatz wie im Beispiel zur einfachen linearen Regression, jedoch ist nun die Körpergröße der Mutter als zweites Merkmal enthalten. Wir laden den Datensatz und betrachten die Variable X:
12345678import pandas as pd 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())
Standardmäßig ist der Parameter fit_intercept=True gesetzt, sodass das Modell den Bias-Term () automatisch berechnet!
Wir können das X DataFrame (bereits 2D) direkt an das Modell übergeben.
Bestimmung der Parameter
Ausgezeichnet! Nun können wir das Modell erstellen, die Parameter bestimmen und Vorhersagen treffen.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Da unser Trainingsdatensatz jetzt 2 Merkmale enthält, müssen für jede neue Instanz, die wir vorhersagen möchten, 2 Merkmale angegeben werden. Deshalb wurde np.array([[65, 62],[70, 65],[75, 70]]) verwendet.
Beachte außerdem, dass model.coef_ ein Array von Koeffizienten in der Reihenfolge der Spalten in X zurückgibt. Da X ['Father', 'Mother'] war, ist coef_[0] die Steigung für Father und coef_[1] für Mother.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 3.33
Erstellung Einer Multiplen Linearen Regression
Swipe um das Menü anzuzeigen
Die Klasse LinearRegression ermöglicht den Aufbau einer multiplen linearen Regression auf die gleiche Weise wie bei der einfachen linearen Regression. Sie verarbeitet automatisch mehrere Merkmale (Spalten) in der Eingabematrix.
Datenvorbereitung
Wir verwenden denselben Datensatz wie im Beispiel zur einfachen linearen Regression, jedoch ist nun die Körpergröße der Mutter als zweites Merkmal enthalten. Wir laden den Datensatz und betrachten die Variable X:
12345678import pandas as pd 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())
Standardmäßig ist der Parameter fit_intercept=True gesetzt, sodass das Modell den Bias-Term () automatisch berechnet!
Wir können das X DataFrame (bereits 2D) direkt an das Modell übergeben.
Bestimmung der Parameter
Ausgezeichnet! Nun können wir das Modell erstellen, die Parameter bestimmen und Vorhersagen treffen.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Da unser Trainingsdatensatz jetzt 2 Merkmale enthält, müssen für jede neue Instanz, die wir vorhersagen möchten, 2 Merkmale angegeben werden. Deshalb wurde np.array([[65, 62],[70, 65],[75, 70]]) verwendet.
Beachte außerdem, dass model.coef_ ein Array von Koeffizienten in der Reihenfolge der Spalten in X zurückgibt. Da X ['Father', 'Mother'] war, ist coef_[0] die Steigung für Father und coef_[1] für Mother.
Danke für Ihr Feedback!