Opbygning 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:
12345678import 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())
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.
12345678910111213141516171819202122from 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)
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.
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
Fantastisk!
Completion rate forbedret til 3.33
Opbygning 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:
12345678import 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())
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.
12345678910111213141516171819202122from 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)
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.
Tak for dine kommentarer!