Bygge Lineær Regresjon ved Hjelp av NumPy
Du kjenner allerede til hva enkel lineær regresjon er og hvordan man finner linjen som passer best til dataene. Nå skal du gå gjennom alle trinnene for å bygge en lineær regresjon for et virkelig datasett.
Laste inn data
Vi har en fil, simple_height_data.csv, med dataene fra eksemplene våre. Vi skal laste inn filen og se 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
Datasettet har to kolonner: den første er 'Father', som er inndatafunksjonen, og den andre er 'Height', som er vår målvariabel.
Vi tilordner målverdiene til variabelen y og funksjonsverdiene til X, og lager et spredningsdiagram.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Finne parametere
Nå har NumPy en nyttig funksjon for å finne parameterne til lineær regresjon.
Lineær regresjon er en polynomregresjon av grad 1 (vi vil diskutere polynomregresjon i senere seksjoner). Derfor må vi sette deg=1 for å få parameterne til den lineære regresjonen.
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 kjent med syntaksen beta_1, beta_0 = np.polyfit(X,y,1), kalles dette oppakking. Hvis du har en iterator (for eksempel en liste, NumPy-array eller pandas-serie) som har to elementer, vil
a, b = my_iterator
være det samme som
a = my_iterator[0]
b = my_iterator[1]
Og siden returverdien fra funksjonen polyfit() er et NumPy-array med to verdier, kan vi gjøre dette.
Lage prediksjoner
Nå kan vi plotte linjen og forutsi nye variabler ved hjelp av parameterne.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Nå som vi har parameterne, kan vi bruke regresjonslikningen til å forutsi nye verdier.
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å ganske enkelt å finne parameterne til lineær regresjon. Men noen biblioteker kan også gi deg tilleggsinformasjon.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Bygge Lineær Regresjon ved Hjelp av NumPy
Sveip for å vise menyen
Du kjenner allerede til hva enkel lineær regresjon er og hvordan man finner linjen som passer best til dataene. Nå skal du gå gjennom alle trinnene for å bygge en lineær regresjon for et virkelig datasett.
Laste inn data
Vi har en fil, simple_height_data.csv, med dataene fra eksemplene våre. Vi skal laste inn filen og se 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
Datasettet har to kolonner: den første er 'Father', som er inndatafunksjonen, og den andre er 'Height', som er vår målvariabel.
Vi tilordner målverdiene til variabelen y og funksjonsverdiene til X, og lager et spredningsdiagram.
1234X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Finne parametere
Nå har NumPy en nyttig funksjon for å finne parameterne til lineær regresjon.
Lineær regresjon er en polynomregresjon av grad 1 (vi vil diskutere polynomregresjon i senere seksjoner). Derfor må vi sette deg=1 for å få parameterne til den lineære regresjonen.
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 kjent med syntaksen beta_1, beta_0 = np.polyfit(X,y,1), kalles dette oppakking. Hvis du har en iterator (for eksempel en liste, NumPy-array eller pandas-serie) som har to elementer, vil
a, b = my_iterator
være det samme som
a = my_iterator[0]
b = my_iterator[1]
Og siden returverdien fra funksjonen polyfit() er et NumPy-array med to verdier, kan vi gjøre dette.
Lage prediksjoner
Nå kan vi plotte linjen og forutsi nye variabler ved hjelp av parameterne.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Nå som vi har parameterne, kan vi bruke regresjonslikningen til å forutsi nye verdier.
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å ganske enkelt å finne parameterne til lineær regresjon. Men noen biblioteker kan også gi deg tilleggsinformasjon.
Takk for tilbakemeldingene dine!