Opbygning 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:
123456import 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
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.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
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:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
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.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Nu hvor vi har parametrene, kan vi bruge lineær regressionsligningen til at forudsige nye værdier.
123X_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)
Det er altså ret nemt at finde parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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?
Fantastisk!
Completion rate forbedret til 5.26
Opbygning 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:
123456import 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
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.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
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:
123beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
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.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Nu hvor vi har parametrene, kan vi bruge lineær regressionsligningen til at forudsige nye værdier.
123X_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)
Det er altså ret nemt at finde parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.
Tak for dine kommentarer!