Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Lineaire Regressie Bouwen met NumPy | Eenvoudige 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
Lineaire Regressie Bouwen met NumPy

Je weet al wat eenvoudige lineaire regressie is en hoe je de lijn vindt die het beste bij de gegevens past. Nu doorloop je alle stappen om een lineaire regressie te bouwen voor een echte dataset.

Data laden

We hebben een bestand, simple_height_data.csv, met de gegevens uit onze voorbeelden. We laden het bestand en bekijken het:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Dus de dataset heeft twee kolommen: de eerste is 'Father', wat de invoerfeature is, en de tweede is 'Height', wat onze doelvariabele is.

We wijzen onze doelwaarden toe aan de variabele y en de featurewaarden aan X en maken een spreidingsdiagram.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Parameters bepalen

NumPy heeft een handige functie om de parameters van lineaire regressie te bepalen.

Lineaire regressie is een polynomiale regressie van graad 1 (we zullen polynomiale regressie in latere secties bespreken). Daarom moeten we deg=1 instellen om de parameters voor de lineaire regressie te verkrijgen.
Hier is een voorbeeld:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Opmerking

Als u niet bekend bent met de syntaxis beta_1, beta_0 = np.polyfit(X,y,1), dat wordt unpacking genoemd. Als u een iterator heeft (bijvoorbeeld een lijst, NumPy-array of pandas-serie) met twee items, dan is schrijven

a, b = my_iterator

hetzelfde als

a = my_iterator[0]
b = my_iterator[1]

En aangezien de return van een polyfit()-functie een NumPy-array met twee waarden is, mogen we dat doen.

Voorspellingen maken

Nu kunnen we de lijn plotten en nieuwe variabelen voorspellen met behulp van de parameters.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Nu we de parameters hebben, kunnen we de lineaire regressievergelijking gebruiken om nieuwe waarden te voorspellen.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Het is dus vrij eenvoudig om de parameters van de lineaire regressie te verkrijgen. Sommige bibliotheken kunnen echter ook extra informatie geven.

question mark

U kunt de parameters van een eenvoudige lineaire regressie vinden met behulp van de NumPy-functie:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. 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
Lineaire Regressie Bouwen met NumPy

Je weet al wat eenvoudige lineaire regressie is en hoe je de lijn vindt die het beste bij de gegevens past. Nu doorloop je alle stappen om een lineaire regressie te bouwen voor een echte dataset.

Data laden

We hebben een bestand, simple_height_data.csv, met de gegevens uit onze voorbeelden. We laden het bestand en bekijken het:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Dus de dataset heeft twee kolommen: de eerste is 'Father', wat de invoerfeature is, en de tweede is 'Height', wat onze doelvariabele is.

We wijzen onze doelwaarden toe aan de variabele y en de featurewaarden aan X en maken een spreidingsdiagram.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Parameters bepalen

NumPy heeft een handige functie om de parameters van lineaire regressie te bepalen.

Lineaire regressie is een polynomiale regressie van graad 1 (we zullen polynomiale regressie in latere secties bespreken). Daarom moeten we deg=1 instellen om de parameters voor de lineaire regressie te verkrijgen.
Hier is een voorbeeld:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Opmerking

Als u niet bekend bent met de syntaxis beta_1, beta_0 = np.polyfit(X,y,1), dat wordt unpacking genoemd. Als u een iterator heeft (bijvoorbeeld een lijst, NumPy-array of pandas-serie) met twee items, dan is schrijven

a, b = my_iterator

hetzelfde als

a = my_iterator[0]
b = my_iterator[1]

En aangezien de return van een polyfit()-functie een NumPy-array met twee waarden is, mogen we dat doen.

Voorspellingen maken

Nu kunnen we de lijn plotten en nieuwe variabelen voorspellen met behulp van de parameters.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Nu we de parameters hebben, kunnen we de lineaire regressievergelijking gebruiken om nieuwe waarden te voorspellen.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Het is dus vrij eenvoudig om de parameters van de lineaire regressie te verkrijgen. Sommige bibliotheken kunnen echter ook extra informatie geven.

question mark

U kunt de parameters van een eenvoudige lineaire regressie vinden met behulp van de NumPy-functie:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 3
some-alt