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 ved Hjælp af NumPy | Simpel Lineær Regression
Lineær Regression med Python

bookOpbygning af Lineær Regression ved Hjælp af 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.

1234
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 gennemgå polynomiel regression i senere afsnit). Derfor skal vi angive deg=1 for at få parametrene til lineær regression.
Her er et eksempel:

123
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 indeholder 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.

Udarbejdelse af forudsigelser

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

123
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.

123
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

Suggested prompts:

Can you explain what the parameters beta_0 and beta_1 represent?

How can I interpret the scatterplot and the fitted line?

What extra information can other libraries provide for linear regression?

bookOpbygning af Lineær Regression ved Hjælp af NumPy

Stryg for at vise menuen

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.

1234
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 gennemgå polynomiel regression i senere afsnit). Derfor skal vi angive deg=1 for at få parametrene til lineær regression.
Her er et eksempel:

123
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 indeholder 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.

Udarbejdelse af forudsigelser

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

123
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.

123
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