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 | Sektion
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Supervised Learning Essentials

bookOpbygning af Lineær Regression

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-funktionen, og den anden er 'Height', som er vores målvariabel.

Vi tildeler vores målvariabler til variablen y og funktionsværdier til X og opretter et scatterplot.

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

Bestemmelse af parametre

For at implementere lineær regression i Scikit-learn anvendes klassen LinearRegression.

LinearRegression(fit_intercept=True, copy_X=True, n_jobs=None, positive=False)

Parametre

Klassen LinearRegression har flere parametre, der styrer, hvordan modellen tilpasses.

  • fit_intercept (standard=True): Bestemmer om intercept (bias) skal beregnes for denne model. Hvis sat til False, bruges ingen intercept i beregningerne (dvs. data forventes at være centreret).
  • copy_X (standard=True): Hvis True, kopieres X; ellers kan det blive overskrevet.
  • n_jobs (standard=None): Antallet af jobs, der skal bruges til beregningen. Dette giver kun en hastighedsforøgelse for n_targets > 1 og tilstrækkeligt store problemer. None betyder 1, medmindre det er i en joblib.parallel_backend-kontekst. -1 betyder brug af alle processorer.
  • positive (standard=False): Når sat til True, tvinges koefficienterne til at være positive. Denne mulighed understøttes kun for tætte arrays.

Almindelige metoder

  • fit(X, y): Tilpas den lineære model.
  • predict(X): Forudsig ved brug af den lineære model.
  • score(X, y): Returner determinanskoefficienten for forudsigelsen.

Attributter

  • coef_: Estimerede koefficienter for det lineære regressionsproblem.
  • intercept_: Uafhængig led i den lineære model.

I Scikit-learn anvendes klassen LinearRegression fra modulet linear_model. I modsætning til NumPy angives graden ikke her; denne klasse er specifikt designet til lineære modeller. Metoden .fit() bruges til at beregne parametrene.

Her er et eksempel:

1234567891011121314
from sklearn.linear_model import LinearRegression import numpy as np # Convert the pandas Series to a NumPy array, then reshape X_reshaped = X.values.reshape(-1, 1) model = LinearRegression() model.fit(X_reshaped, y) # Train the model beta_0 = model.intercept_ # Get the intercept (beta_0) beta_1 = model.coef_[0] # Get the coefficient (beta_1) print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Bemærk

Hvis du ikke er bekendt med syntaksen model.intercept_ og model.coef_, er dette en konvention i Scikit-learn. Attributter, der beregnes (læres) under træningsprocessen, ender altid med en understregning _ (f.eks. intercept_, coef_). intercept_ er en enkelt værdi, mens coef_ er et array, der indeholder koefficienterne for hver feature (i simpel lineær regression indeholder det kun ét element).

Udarbejdelse af forudsigelser

Nu kan vi plotte linjen og forudsige nye variabler ved hjælp af den trænede model.

123
plt.scatter(X, y) # Build a scatter plot plt.plot(X, model.predict(X_reshaped), color='red') # Plot the line using predictions plt.show()
copy

Nu hvor vi har den trænede model, kan vi bruge .predict()-metoden til at forudsige nye værdier.

123
X_new = np.array([[65], [70], [75]]) # Feature values (must be 2D) y_pred = model.predict(X_new) # Predict the target print('Predicted y: ', y_pred)
copy

Det er altså ret nemt at få parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.

question mark

Hvilken klasse bruges til at implementere lineær regression i Scikit-learn?

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

bookOpbygning af Lineær Regression

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-funktionen, og den anden er 'Height', som er vores målvariabel.

Vi tildeler vores målvariabler til variablen y og funktionsværdier til X og opretter et scatterplot.

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

Bestemmelse af parametre

For at implementere lineær regression i Scikit-learn anvendes klassen LinearRegression.

LinearRegression(fit_intercept=True, copy_X=True, n_jobs=None, positive=False)

Parametre

Klassen LinearRegression har flere parametre, der styrer, hvordan modellen tilpasses.

  • fit_intercept (standard=True): Bestemmer om intercept (bias) skal beregnes for denne model. Hvis sat til False, bruges ingen intercept i beregningerne (dvs. data forventes at være centreret).
  • copy_X (standard=True): Hvis True, kopieres X; ellers kan det blive overskrevet.
  • n_jobs (standard=None): Antallet af jobs, der skal bruges til beregningen. Dette giver kun en hastighedsforøgelse for n_targets > 1 og tilstrækkeligt store problemer. None betyder 1, medmindre det er i en joblib.parallel_backend-kontekst. -1 betyder brug af alle processorer.
  • positive (standard=False): Når sat til True, tvinges koefficienterne til at være positive. Denne mulighed understøttes kun for tætte arrays.

Almindelige metoder

  • fit(X, y): Tilpas den lineære model.
  • predict(X): Forudsig ved brug af den lineære model.
  • score(X, y): Returner determinanskoefficienten for forudsigelsen.

Attributter

  • coef_: Estimerede koefficienter for det lineære regressionsproblem.
  • intercept_: Uafhængig led i den lineære model.

I Scikit-learn anvendes klassen LinearRegression fra modulet linear_model. I modsætning til NumPy angives graden ikke her; denne klasse er specifikt designet til lineære modeller. Metoden .fit() bruges til at beregne parametrene.

Her er et eksempel:

1234567891011121314
from sklearn.linear_model import LinearRegression import numpy as np # Convert the pandas Series to a NumPy array, then reshape X_reshaped = X.values.reshape(-1, 1) model = LinearRegression() model.fit(X_reshaped, y) # Train the model beta_0 = model.intercept_ # Get the intercept (beta_0) beta_1 = model.coef_[0] # Get the coefficient (beta_1) print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Bemærk

Hvis du ikke er bekendt med syntaksen model.intercept_ og model.coef_, er dette en konvention i Scikit-learn. Attributter, der beregnes (læres) under træningsprocessen, ender altid med en understregning _ (f.eks. intercept_, coef_). intercept_ er en enkelt værdi, mens coef_ er et array, der indeholder koefficienterne for hver feature (i simpel lineær regression indeholder det kun ét element).

Udarbejdelse af forudsigelser

Nu kan vi plotte linjen og forudsige nye variabler ved hjælp af den trænede model.

123
plt.scatter(X, y) # Build a scatter plot plt.plot(X, model.predict(X_reshaped), color='red') # Plot the line using predictions plt.show()
copy

Nu hvor vi har den trænede model, kan vi bruge .predict()-metoden til at forudsige nye værdier.

123
X_new = np.array([[65], [70], [75]]) # Feature values (must be 2D) y_pred = model.predict(X_new) # Predict the target print('Predicted y: ', y_pred)
copy

Det er altså ret nemt at få parametrene for lineær regression. Men nogle biblioteker kan også give dig ekstra information.

question mark

Hvilken klasse bruges til at implementere lineær regression i Scikit-learn?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 3
some-alt