Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bygge Multippel Lineær Regresjon | Multippel Lineær Regresjon
Lineær Regresjon med Python

bookBygge Multippel Lineær Regresjon

OLS-klassen gjør det mulig å bygge multippel lineær regresjon på samme måte som enkel lineær regresjon. Dessverre håndterer ikke funksjonen np.polyfit() tilfeller med flere variabler.

Vi holder oss til OLS-klassen.

Bygging av X̃-matrisen

Vi har det samme datasettet som i eksempelet med enkel lineær regresjon, men nå har det mors høyde som den andre variabelen. Vi laster det inn og ser på X-variabelen:

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

Husk at vi skal bruke OLS(y, X_tilde) for å initialisere OLS-objektet. Som du ser, inneholder X-variabelen allerede to egenskaper i separate kolonner. For å få X_tilde, trenger vi bare å legge til 1-ere som første kolonne. Funksjonen sm.add_constant(X) gjør akkurat dette!

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

Finne parameterne

Flott! Nå kan vi bygge modellen, finne parameterne og gjøre prediksjoner på samme måte som vi gjorde i forrige seksjon.

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
Merk

Nå som treningssettet vårt har 2 funksjoner, må vi oppgi 2 funksjoner for hver ny instans vi ønsker å predikere. Derfor ble np.array([[65, 62],[70, 65],[75, 70]]) brukt i eksemplet ovenfor. Det predikerer y for 3 nye instanser: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Hva gjør sm.add_constant(X)?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 5.26

bookBygge Multippel Lineær Regresjon

Sveip for å vise menyen

OLS-klassen gjør det mulig å bygge multippel lineær regresjon på samme måte som enkel lineær regresjon. Dessverre håndterer ikke funksjonen np.polyfit() tilfeller med flere variabler.

Vi holder oss til OLS-klassen.

Bygging av X̃-matrisen

Vi har det samme datasettet som i eksempelet med enkel lineær regresjon, men nå har det mors høyde som den andre variabelen. Vi laster det inn og ser på X-variabelen:

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

Husk at vi skal bruke OLS(y, X_tilde) for å initialisere OLS-objektet. Som du ser, inneholder X-variabelen allerede to egenskaper i separate kolonner. For å få X_tilde, trenger vi bare å legge til 1-ere som første kolonne. Funksjonen sm.add_constant(X) gjør akkurat dette!

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

Finne parameterne

Flott! Nå kan vi bygge modellen, finne parameterne og gjøre prediksjoner på samme måte som vi gjorde i forrige seksjon.

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
Merk

Nå som treningssettet vårt har 2 funksjoner, må vi oppgi 2 funksjoner for hver ny instans vi ønsker å predikere. Derfor ble np.array([[65, 62],[70, 65],[75, 70]]) brukt i eksemplet ovenfor. Det predikerer y for 3 nye instanser: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Hva gjør sm.add_constant(X)?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 3
some-alt