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
course content

Kursinnhold

Lineær Regresjon med Python

Lineær Regresjon med Python

1. Enkel Lineær Regresjon
2. Multippel Lineær Regresjon
3. Polynomisk Regresjon
4. Velge den Beste Modellen

book
Bygge 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

course content

Kursinnhold

Lineær Regresjon med Python

Lineær Regresjon med Python

1. Enkel Lineær Regresjon
2. Multippel Lineær Regresjon
3. Polynomisk Regresjon
4. Velge den Beste Modellen

book
Bygge 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
some-alt