Bygge Multippel Lineær Regresjon
LinearRegression-klassen gjør det mulig å bygge multippel lineær regresjon på samme måte som enkel lineær regresjon. Den håndterer automatisk flere funksjoner (kolonner) i inndatamatrisen.
Forberedelse av data
Vi har det samme datasettet som i eksempelet med enkel lineær regresjon, men nå har det mors høyde som den andre funksjonen. Vi laster det inn og ser på X-variabelen:
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 satt, slik at modellen automatisk beregner bias-leddet ()!
Vi kan sende X DataFrame (som allerede er 2D) direkte til modellen.
Finne parameterne
Flott! Nå kan vi bygge modellen, finne parameterne og lage prediksjoner.
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)
Nå som treningssettet vårt har 2 egenskaper, må vi oppgi 2 egenskaper for hver nye instans vi ønsker å predikere. Derfor ble np.array([[65, 62],[70, 65],[75, 70]]) brukt.
Merk også at model.coef_ returnerer et array med koeffisienter som tilsvarer rekkefølgen på kolonnene i X. Siden X var ['Father', 'Mother'], er coef_[0] stigningstallet for Father, og coef_[1] for Mother.
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
Fantastisk!
Completion rate forbedret til 3.33
Bygge Multippel Lineær Regresjon
Sveip for å vise menyen
LinearRegression-klassen gjør det mulig å bygge multippel lineær regresjon på samme måte som enkel lineær regresjon. Den håndterer automatisk flere funksjoner (kolonner) i inndatamatrisen.
Forberedelse av data
Vi har det samme datasettet som i eksempelet med enkel lineær regresjon, men nå har det mors høyde som den andre funksjonen. Vi laster det inn og ser på X-variabelen:
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 satt, slik at modellen automatisk beregner bias-leddet ()!
Vi kan sende X DataFrame (som allerede er 2D) direkte til modellen.
Finne parameterne
Flott! Nå kan vi bygge modellen, finne parameterne og lage prediksjoner.
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)
Nå som treningssettet vårt har 2 egenskaper, må vi oppgi 2 egenskaper for hver nye instans vi ønsker å predikere. Derfor ble np.array([[65, 62],[70, 65],[75, 70]]) brukt.
Merk også at model.coef_ returnerer et array med koeffisienter som tilsvarer rekkefølgen på kolonnene i X. Siden X var ['Father', 'Mother'], er coef_[0] stigningstallet for Father, og coef_[1] for Mother.
Takk for tilbakemeldingene dine!