Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bygge Lineær Regresjon Med NumPy | Enkel Lineær Regresjon
Lineær Regresjon med Python
course content

Kursinnhold

Lineær Regresjon med Python

Lineær Regresjon med Python

1. Enkel Lineær Regresjon
2. Multippel Lineær Regresjon
3. Polynomisk Regresjon
4. Velge den Beste Modellen

book
Bygge Lineær Regresjon Med 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 på innholdet:

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 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 våre til variabelen y og funksjonsverdiene til X, og lager et spredningsdiagram.

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

Finne parametere

NumPy har 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 for den lineære regresjonen.
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
Merk

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.

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

Nå som vi har parameterne, kan vi bruke lineær regresjonslikningen til å forutsi nye verdier.

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å ganske enkelt å finne parameterne til lineær regresjon. Men noen biblioteker kan også gi deg tilleggsinformasjon.

question mark

Du kan finne parameterne til enkel lineær regresjon ved å bruke NumPy-funksjonen:

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

course content

Kursinnhold

Lineær Regresjon med Python

Lineær Regresjon med Python

1. Enkel Lineær Regresjon
2. Multippel Lineær Regresjon
3. Polynomisk Regresjon
4. Velge den Beste Modellen

book
Bygge Lineær Regresjon Med 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 på innholdet:

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 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 våre til variabelen y og funksjonsverdiene til X, og lager et spredningsdiagram.

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

Finne parametere

NumPy har 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 for den lineære regresjonen.
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
Merk

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.

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

Nå som vi har parameterne, kan vi bruke lineær regresjonslikningen til å forutsi nye verdier.

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å ganske enkelt å finne parameterne til lineær regresjon. Men noen biblioteker kan også gi deg tilleggsinformasjon.

question mark

Du kan finne parameterne til enkel lineær regresjon ved å bruke NumPy-funksjonen:

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3
some-alt