Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opbygning af Multipel Lineær Regression | Multipel Lineær Regression
Lineær Regression med Python
course content

Kursusindhold

Lineær Regression med Python

Lineær Regression med Python

1. Simpel Lineær Regression
2. Multipel Lineær Regression
3. Polynomiel Regression
4. Valg af den Bedste Model

book
Opbygning af Multipel Lineær Regression

OLS-klassen muliggør opbygning af multipel lineær regression på samme måde som simpel lineær regression. Desværre håndterer funktionen np.polyfit() ikke tilfælde med flere features.

Vi fortsætter med at anvende OLS-klassen.

Opbygning af X̃-matrix

Vi har det samme datasæt som i eksemplet med simpel lineær regression, men nu indeholder det moderens højde som den anden feature. Vi indlæser det og ser på dets X-variabel:

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, vi skal bruge OLS(y, X_tilde) til at initialisere OLS-objektet. Som du kan se, indeholder X-variablen allerede to features i separate kolonner. For at få X_tilde skal vi derfor blot tilføje 1-taller som første kolonne. Funktionen sm.add_constant(X) gør netop 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

Finde parametrene

Fremragende! Nu kan vi opbygge modellen, finde parametrene og lave forudsigelser på samme måde som i det forrige afsnit.

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
Bemærk

Nu hvor vores træningssæt har 2 features, skal vi angive 2 features for hver ny instans, vi ønsker at forudsige. Derfor blev np.array([[65, 62],[70, 65],[75, 70]]) brugt i eksemplet ovenfor. Den forudsiger y for 3 nye instanser: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Hvad gør sm.add_constant(X)?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Lineær Regression med Python

Lineær Regression med Python

1. Simpel Lineær Regression
2. Multipel Lineær Regression
3. Polynomiel Regression
4. Valg af den Bedste Model

book
Opbygning af Multipel Lineær Regression

OLS-klassen muliggør opbygning af multipel lineær regression på samme måde som simpel lineær regression. Desværre håndterer funktionen np.polyfit() ikke tilfælde med flere features.

Vi fortsætter med at anvende OLS-klassen.

Opbygning af X̃-matrix

Vi har det samme datasæt som i eksemplet med simpel lineær regression, men nu indeholder det moderens højde som den anden feature. Vi indlæser det og ser på dets X-variabel:

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, vi skal bruge OLS(y, X_tilde) til at initialisere OLS-objektet. Som du kan se, indeholder X-variablen allerede to features i separate kolonner. For at få X_tilde skal vi derfor blot tilføje 1-taller som første kolonne. Funktionen sm.add_constant(X) gør netop 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

Finde parametrene

Fremragende! Nu kan vi opbygge modellen, finde parametrene og lave forudsigelser på samme måde som i det forrige afsnit.

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
Bemærk

Nu hvor vores træningssæt har 2 features, skal vi angive 2 features for hver ny instans, vi ønsker at forudsige. Derfor blev np.array([[65, 62],[70, 65],[75, 70]]) brugt i eksemplet ovenfor. Den forudsiger y for 3 nye instanser: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Hvad gør sm.add_constant(X)?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
some-alt