Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Bygga Linjär Regression Med NumPy | Enkel Linjär Regression
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Linjär Regression med Python

bookBygga Linjär Regression Med NumPy

Du känner redan till vad enkel linjär regression är och hur man hittar den linje som bäst passar data. Nu kommer du att gå igenom alla steg för att bygga en linjär regression för en verklig datamängd.

Laddar data

Vi har en fil, simple_height_data.csv, med data från våra exempel. Vi laddar filen och tittar 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

Datasettet har alltså två kolumner: den första är 'Father', vilket är inmatningsfunktionen, och den andra är 'Height', vilket är vår målvariabel.

Vi tilldelar våra målvariabler till variabeln y och funktionsvärden till X och skapar ett spridningsdiagram.

1234
X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Hitta parametrar

NumPy har en praktisk funktion för att hitta parametrarna för linjär regression.

Linjär regression är en polynomregression av grad 1 (vi kommer att diskutera polynomregression i senare avsnitt). Därför behöver vi ange deg=1 för att få parametrarna för den linjära regressionen.
Här är ett exempel:

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
Notering

Om du inte är bekant med syntaxen beta_1, beta_0 = np.polyfit(X,y,1), så kallas det för uppackning. Om du har en iterator (t.ex. lista, NumPy-array eller pandas-serie) som innehåller två element, så innebär

a, b = my_iterator

detsamma som

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

Eftersom returvärdet från funktionen polyfit() är en NumPy-array med två värden, kan vi göra så.

Göra förutsägelser

Nu kan vi rita linjen och förutsäga nya variabler med hjälp av parametrarna.

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 när vi har parametrarna kan vi använda den linjära regressions-ekvationen för att förutsäga nya värden.

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 är alltså ganska enkelt att få fram parametrarna för den linjära regressionen. Men vissa bibliotek kan också ge dig extra information.

question mark

Du kan hitta parametrarna för enkel linjär regression med hjälp av NumPys funktion:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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?

bookBygga Linjär Regression Med NumPy

Svep för att visa menyn

Du känner redan till vad enkel linjär regression är och hur man hittar den linje som bäst passar data. Nu kommer du att gå igenom alla steg för att bygga en linjär regression för en verklig datamängd.

Laddar data

Vi har en fil, simple_height_data.csv, med data från våra exempel. Vi laddar filen och tittar 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

Datasettet har alltså två kolumner: den första är 'Father', vilket är inmatningsfunktionen, och den andra är 'Height', vilket är vår målvariabel.

Vi tilldelar våra målvariabler till variabeln y och funktionsvärden till X och skapar ett spridningsdiagram.

1234
X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Hitta parametrar

NumPy har en praktisk funktion för att hitta parametrarna för linjär regression.

Linjär regression är en polynomregression av grad 1 (vi kommer att diskutera polynomregression i senare avsnitt). Därför behöver vi ange deg=1 för att få parametrarna för den linjära regressionen.
Här är ett exempel:

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
Notering

Om du inte är bekant med syntaxen beta_1, beta_0 = np.polyfit(X,y,1), så kallas det för uppackning. Om du har en iterator (t.ex. lista, NumPy-array eller pandas-serie) som innehåller två element, så innebär

a, b = my_iterator

detsamma som

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

Eftersom returvärdet från funktionen polyfit() är en NumPy-array med två värden, kan vi göra så.

Göra förutsägelser

Nu kan vi rita linjen och förutsäga nya variabler med hjälp av parametrarna.

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 när vi har parametrarna kan vi använda den linjära regressions-ekvationen för att förutsäga nya värden.

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 är alltså ganska enkelt att få fram parametrarna för den linjära regressionen. Men vissa bibliotek kan också ge dig extra information.

question mark

Du kan hitta parametrarna för enkel linjär regression med hjälp av NumPys funktion:

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3
some-alt