Bygga Multipel Linjär Regression
Klassen LinearRegression möjliggör att bygga multipel linjär regression på samma sätt som enkel linjär regression. Den hanterar automatiskt flera funktioner (kolumner) i inmatningsmatrisen.
Förbereda data
Vi har samma dataset som i exemplet med enkel linjär regression, men nu finns även moderns längd som den andra funktionen. Vi laddar in det och tittar på dess X-variabel:
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())
Som standard är parametern fit_intercept=True inställd, så modellen beräknar bias-termen () automatiskt!
Vi kan skicka DataFrame X (som redan är 2D) direkt till modellen.
Hitta parametrarna
Utmärkt! Nu kan vi bygga modellen, hitta parametrarna och göra prediktioner.
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)
Nu när vårt träningsset har 2 egenskaper måste vi ange 2 egenskaper för varje ny instans vi vill förutsäga. Det är därför np.array([[65, 62],[70, 65],[75, 70]]) användes.
Observera också att model.coef_ returnerar en array med koefficienter som motsvarar ordningen på kolumnerna i X. Eftersom X var ['Father', 'Mother'], är coef_[0] lutningen för Father och coef_[1] för Mother.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 3.33
Bygga Multipel Linjär Regression
Svep för att visa menyn
Klassen LinearRegression möjliggör att bygga multipel linjär regression på samma sätt som enkel linjär regression. Den hanterar automatiskt flera funktioner (kolumner) i inmatningsmatrisen.
Förbereda data
Vi har samma dataset som i exemplet med enkel linjär regression, men nu finns även moderns längd som den andra funktionen. Vi laddar in det och tittar på dess X-variabel:
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())
Som standard är parametern fit_intercept=True inställd, så modellen beräknar bias-termen () automatiskt!
Vi kan skicka DataFrame X (som redan är 2D) direkt till modellen.
Hitta parametrarna
Utmärkt! Nu kan vi bygga modellen, hitta parametrarna och göra prediktioner.
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)
Nu när vårt träningsset har 2 egenskaper måste vi ange 2 egenskaper för varje ny instans vi vill förutsäga. Det är därför np.array([[65, 62],[70, 65],[75, 70]]) användes.
Observera också att model.coef_ returnerar en array med koefficienter som motsvarar ordningen på kolumnerna i X. Eftersom X var ['Father', 'Mother'], är coef_[0] lutningen för Father och coef_[1] för Mother.
Tack för dina kommentarer!