Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Bygga Multipel Linjär Regression | Sektion
Grunder i Övervakad Inlärning

bookBygga 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:

12345678
import 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())
copy

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.

12345678910111213141516171819202122
from 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)
copy
Note
Notera

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.

question mark

Kräver klassen LinearRegression att en konstant kolumn läggs till manuellt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

bookBygga 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:

12345678
import 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())
copy

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.

12345678910111213141516171819202122
from 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)
copy
Note
Notera

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.

question mark

Kräver klassen LinearRegression att en konstant kolumn läggs till manuellt?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7
some-alt