Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opbygning af Multipel Lineær Regression | Sektion
Practice
Projects
Quizzes & Challenges
Quizzer
Challenges
/
Supervised Learning Essentials

bookOpbygning af Multipel Lineær Regression

LinearRegression-klassen gør det muligt at opbygge Multipel Lineær Regression på samme måde som Simpel Lineær Regression. Den håndterer automatisk flere features (kolonner) i inputmatricen.

Forberedelse af data

Vi har det samme datasæt fra eksemplet med simpel lineær regression, men nu har det moderens højde som den anden feature. Vi indlæser det og ser på variablen X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Som standard er parameteren fit_intercept=True sat, så modellen automatisk beregner bias-termen ()! Vi kan videregive DataFrame'en X (som allerede er 2D) direkte til modellen.

Bestemmelse af parametre

Fremragende! Nu kan vi opbygge modellen, finde parametrene og lave forudsigelser.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Bemærk

Nu hvor vores træningssæt har 2 features, skal vi angive 2 features for hver ny instans, vi ønsker at forudsige. Derfor blev np.array([[65, 62],[70, 65],[75, 70]]) anvendt. Bemærk også, at model.coef_ returnerer et array af koefficienter svarende til rækkefølgen af kolonner i X. Da X var ['Father', 'Mother'], er coef_[0] hældningen for Father, og coef_[1] er for Mother.

question mark

Kræver LinearRegression-klassen, at man manuelt tilføjer en konstant kolonne?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7

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 Multipel Lineær Regression

Stryg for at vise menuen

LinearRegression-klassen gør det muligt at opbygge Multipel Lineær Regression på samme måde som Simpel Lineær Regression. Den håndterer automatisk flere features (kolonner) i inputmatricen.

Forberedelse af data

Vi har det samme datasæt fra eksemplet med simpel lineær regression, men nu har det moderens højde som den anden feature. Vi indlæser det og ser på variablen X:

12345678
import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
copy

Som standard er parameteren fit_intercept=True sat, så modellen automatisk beregner bias-termen ()! Vi kan videregive DataFrame'en X (som allerede er 2D) direkte til modellen.

Bestemmelse af parametre

Fremragende! Nu kan vi opbygge modellen, finde parametrene og lave forudsigelser.

12345678910111213141516171819202122
from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
copy
Note
Bemærk

Nu hvor vores træningssæt har 2 features, skal vi angive 2 features for hver ny instans, vi ønsker at forudsige. Derfor blev np.array([[65, 62],[70, 65],[75, 70]]) anvendt. Bemærk også, at model.coef_ returnerer et array af koefficienter svarende til rækkefølgen af kolonner i X. Da X var ['Father', 'Mother'], er coef_[0] hældningen for Father, og coef_[1] er for Mother.

question mark

Kræver LinearRegression-klassen, at man manuelt tilføjer en konstant kolonne?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
some-alt