Meervoudige Lineaire Regressie Opbouwen
De klasse LinearRegression maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier te bouwen als Eenvoudige Lineaire Regressie. Het verwerkt automatisch meerdere kenmerken (kolommen) in de invoermatrix.
Gegevens voorbereiden
We gebruiken dezelfde dataset als in het voorbeeld van eenvoudige lineaire regressie, maar deze bevat nu de lengte van de moeder als tweede kenmerk. We laden deze in en bekijken de X-variabele:
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())
Standaard is de parameter fit_intercept=True ingesteld, waardoor het model de bias-term () automatisch berekent!
We kunnen de X DataFrame (die al 2D is) direct aan het model doorgeven.
Parameters bepalen
Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen.
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 onze trainingsset 2 kenmerken bevat, moeten we voor elke nieuwe instantie die we willen voorspellen 2 kenmerken aanleveren. Daarom is np.array([[65, 62],[70, 65],[75, 70]]) gebruikt.
Let ook op dat model.coef_ een array van coëfficiënten retourneert die overeenkomen met de volgorde van de kolommen in X. Omdat X ['Father', 'Mother'] was, is coef_[0] de helling voor Father en coef_[1] voor Mother.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 3.33
Meervoudige Lineaire Regressie Opbouwen
Veeg om het menu te tonen
De klasse LinearRegression maakt het mogelijk om Meervoudige Lineaire Regressie op dezelfde manier te bouwen als Eenvoudige Lineaire Regressie. Het verwerkt automatisch meerdere kenmerken (kolommen) in de invoermatrix.
Gegevens voorbereiden
We gebruiken dezelfde dataset als in het voorbeeld van eenvoudige lineaire regressie, maar deze bevat nu de lengte van de moeder als tweede kenmerk. We laden deze in en bekijken de X-variabele:
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())
Standaard is de parameter fit_intercept=True ingesteld, waardoor het model de bias-term () automatisch berekent!
We kunnen de X DataFrame (die al 2D is) direct aan het model doorgeven.
Parameters bepalen
Uitstekend! Nu kunnen we het model bouwen, de parameters bepalen en voorspellingen doen.
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 onze trainingsset 2 kenmerken bevat, moeten we voor elke nieuwe instantie die we willen voorspellen 2 kenmerken aanleveren. Daarom is np.array([[65, 62],[70, 65],[75, 70]]) gebruikt.
Let ook op dat model.coef_ een array van coëfficiënten retourneert die overeenkomen met de volgorde van de kolommen in X. Omdat X ['Father', 'Mother'] was, is coef_[0] de helling voor Father en coef_[1] voor Mother.
Bedankt voor je feedback!