Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Meervoudige Lineaire Regressie Opbouwen | Meervoudige Lineaire Regressie
Lineaire Regressie Met Python
course content

Cursusinhoud

Lineaire Regressie Met Python

Lineaire Regressie Met Python

1. Eenvoudige Lineaire Regressie
2. Meervoudige Lineaire Regressie
3. Polynomiale Regressie
4. Het Beste Model Kiezen

book
Meervoudige Lineaire Regressie Opbouwen

De OLS-klasse maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier op te bouwen als Eenvoudige Lineaire Regressie. Helaas ondersteunt de functie np.polyfit() echter niet het geval met meerdere kenmerken.

We blijven werken met de OLS-klasse.

X̃-matrix opbouwen

We gebruiken dezelfde dataset als in het voorbeeld van eenvoudige lineaire regressie, maar nu bevat deze ook de lengte van de moeder als tweede kenmerk. We laden deze en bekijken de X-variabele:

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

Onthoud dat we OLS(y, X_tilde) moeten gebruiken om het OLS-object te initialiseren. Zoals je ziet bevat de X-variabele al twee kenmerken in aparte kolommen. Om X_tilde te verkrijgen, hoeven we alleen maar enen toe te voegen als eerste kolom. De functie sm.add_constant(X) doet precies dat!

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

Het vinden van de parameters

Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen op dezelfde manier als in de vorige sectie.

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
Opmerking

Nu onze trainingsset 2 kenmerken bevat, moeten we voor elk nieuw geval dat we willen voorspellen 2 kenmerken opgeven. Daarom werd np.array([[65, 62],[70, 65],[75, 70]]) gebruikt in het bovenstaande voorbeeld. Hiermee wordt y voorspeld voor 3 nieuwe gevallen: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Wat doet sm.add_constant(X)?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Lineaire Regressie Met Python

Lineaire Regressie Met Python

1. Eenvoudige Lineaire Regressie
2. Meervoudige Lineaire Regressie
3. Polynomiale Regressie
4. Het Beste Model Kiezen

book
Meervoudige Lineaire Regressie Opbouwen

De OLS-klasse maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier op te bouwen als Eenvoudige Lineaire Regressie. Helaas ondersteunt de functie np.polyfit() echter niet het geval met meerdere kenmerken.

We blijven werken met de OLS-klasse.

X̃-matrix opbouwen

We gebruiken dezelfde dataset als in het voorbeeld van eenvoudige lineaire regressie, maar nu bevat deze ook de lengte van de moeder als tweede kenmerk. We laden deze en bekijken de X-variabele:

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

Onthoud dat we OLS(y, X_tilde) moeten gebruiken om het OLS-object te initialiseren. Zoals je ziet bevat de X-variabele al twee kenmerken in aparte kolommen. Om X_tilde te verkrijgen, hoeven we alleen maar enen toe te voegen als eerste kolom. De functie sm.add_constant(X) doet precies dat!

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

Het vinden van de parameters

Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen op dezelfde manier als in de vorige sectie.

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
Opmerking

Nu onze trainingsset 2 kenmerken bevat, moeten we voor elk nieuw geval dat we willen voorspellen 2 kenmerken opgeven. Daarom werd np.array([[65, 62],[70, 65],[75, 70]]) gebruikt in het bovenstaande voorbeeld. Hiermee wordt y voorspeld voor 3 nieuwe gevallen: [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Wat doet sm.add_constant(X)?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
some-alt