Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opbygning af Lineær Regression med NumPy | Simpel 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 Lineær Regression med NumPy

Du kender allerede til simpel lineær regression og hvordan man finder den linje, der passer bedst til dataene. Nu vil du gennemgå alle trin i opbygningen af en lineær regression for et rigtigt datasæt.

Indlæsning af data

Vi har en fil, simple_height_data.csv, med data fra vores eksempler. Vi indlæser filen og ser nærmere på den:

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

Datasættet har to kolonner: den første er 'Father', som er input-featuret, og den anden er 'Height', som er vores målvariabel.

Vi tildeler vores målvariabler til variablen y og featureværdier til X og opretter et scatterplot.

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

Bestemmelse af parametre

NumPy har en praktisk funktion til at finde parametrene for lineær regression.

Lineær regression er en polynomiel regression af grad 1 (vi vil tale om polynomiel regression i senere afsnit). Derfor skal vi angive deg=1 for at få parametrene til lineær regression.
Her er et eksempel:

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

Hvis du ikke er bekendt med syntaksen beta_1, beta_0 = np.polyfit(X,y,1), kaldes det for unpacking. Hvis du har en iterator (f.eks. en liste, NumPy-array eller pandas-serie), der har to elementer, svarer det at skrive

a, b = my_iterator

til det samme som

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

Og da returværdien fra funktionen polyfit() er et NumPy-array med to værdier, er det tilladt at gøre dette.

Udførelse af forudsigelser

Nu kan vi plotte linjen og forudsige nye variabler ved hjælp af parametrene.

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 hvor vi har parametrene, kan vi bruge lineær regressionsligningen til at forudsige nye værdier.

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

Det er altså ret nemt at finde parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.

question mark

Du kan finde parametrene for simpel lineær regression ved hjælp af NumPy-funktionen:

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. 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 Lineær Regression med NumPy

Du kender allerede til simpel lineær regression og hvordan man finder den linje, der passer bedst til dataene. Nu vil du gennemgå alle trin i opbygningen af en lineær regression for et rigtigt datasæt.

Indlæsning af data

Vi har en fil, simple_height_data.csv, med data fra vores eksempler. Vi indlæser filen og ser nærmere på den:

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

Datasættet har to kolonner: den første er 'Father', som er input-featuret, og den anden er 'Height', som er vores målvariabel.

Vi tildeler vores målvariabler til variablen y og featureværdier til X og opretter et scatterplot.

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

Bestemmelse af parametre

NumPy har en praktisk funktion til at finde parametrene for lineær regression.

Lineær regression er en polynomiel regression af grad 1 (vi vil tale om polynomiel regression i senere afsnit). Derfor skal vi angive deg=1 for at få parametrene til lineær regression.
Her er et eksempel:

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

Hvis du ikke er bekendt med syntaksen beta_1, beta_0 = np.polyfit(X,y,1), kaldes det for unpacking. Hvis du har en iterator (f.eks. en liste, NumPy-array eller pandas-serie), der har to elementer, svarer det at skrive

a, b = my_iterator

til det samme som

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

Og da returværdien fra funktionen polyfit() er et NumPy-array med to værdier, er det tilladt at gøre dette.

Udførelse af forudsigelser

Nu kan vi plotte linjen og forudsige nye variabler ved hjælp af parametrene.

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 hvor vi har parametrene, kan vi bruge lineær regressionsligningen til at forudsige nye værdier.

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

Det er altså ret nemt at finde parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.

question mark

Du kan finde parametrene for simpel lineær regression ved hjælp af NumPy-funktionen:

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3
some-alt