Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Meervoudige Lineaire Regressie Opbouwen | Sectie
Essentiële Supervised Learning

bookMeervoudige Lineaire Regressie Opbouwen

De klasse LinearRegression maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier te bouwen als Eenvoudige Lineaire Regressie. Het verwerkt automatisch meerdere kenmerken (kolommen) in de invoermatrix.

Gegevens voorbereiden

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

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

Standaard is de parameter fit_intercept=True ingesteld, waardoor het model de bias-term () automatisch berekent! We kunnen de X DataFrame (die al 2D is) direct aan het model doorgeven.

Parameters bepalen

Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen.

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
Opmerking

Nu onze trainingsset 2 kenmerken bevat, moeten we voor elke nieuwe instantie die we willen voorspellen 2 kenmerken aanleveren. Daarom is np.array([[65, 62],[70, 65],[75, 70]]) gebruikt. Let ook op dat model.coef_ een array van coëfficiënten retourneert die overeenkomen met de volgorde van de kolommen in X. Omdat X ['Father', 'Mother'] was, is coef_[0] de helling voor Father en coef_[1] voor Mother.

question mark

Moet de LinearRegression-klasse handmatig een constante kolom worden toegevoegd?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 7

Vraag AI

expand

Vraag AI

ChatGPT

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

bookMeervoudige Lineaire Regressie Opbouwen

Veeg om het menu te tonen

De klasse LinearRegression maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier te bouwen als Eenvoudige Lineaire Regressie. Het verwerkt automatisch meerdere kenmerken (kolommen) in de invoermatrix.

Gegevens voorbereiden

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

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

Standaard is de parameter fit_intercept=True ingesteld, waardoor het model de bias-term () automatisch berekent! We kunnen de X DataFrame (die al 2D is) direct aan het model doorgeven.

Parameters bepalen

Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen.

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
Opmerking

Nu onze trainingsset 2 kenmerken bevat, moeten we voor elke nieuwe instantie die we willen voorspellen 2 kenmerken aanleveren. Daarom is np.array([[65, 62],[70, 65],[75, 70]]) gebruikt. Let ook op dat model.coef_ een array van coëfficiënten retourneert die overeenkomen met de volgorde van de kolommen in X. Omdat X ['Father', 'Mother'] was, is coef_[0] de helling voor Father en coef_[1] voor Mother.

question mark

Moet de LinearRegression-klasse handmatig een constante kolom worden toegevoegd?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 7
some-alt