Costruzione della Regressione Lineare Multipla
La classe LinearRegression consente di costruire una Regressione Lineare Multipla nello stesso modo della Regressione Lineare Semplice. Gestisce automaticamente più caratteristiche (colonne) nella matrice di input.
Preparazione dei dati
Abbiamo lo stesso dataset dell'esempio di regressione lineare semplice, ma ora include l'altezza della madre come seconda caratteristica. Lo caricheremo ed esamineremo la sua variabile 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())
Per impostazione predefinita, il parametro fit_intercept=True è attivato, quindi il modello calcola automaticamente il termine di bias ()!
Possiamo passare direttamente il DataFrame X (che è già bidimensionale) al modello.
Ricerca dei Parametri
Ottimo! Ora possiamo costruire il modello, trovare i parametri ed effettuare previsioni.
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)
Ora che il nostro set di addestramento ha 2 caratteristiche, dobbiamo fornire 2 caratteristiche per ogni nuova istanza che vogliamo prevedere. Ecco perché è stato utilizzato np.array([[65, 62],[70, 65],[75, 70]]).
Inoltre, nota che model.coef_ restituisce un array di coefficienti corrispondenti all'ordine delle colonne in X. Poiché X era ['Father', 'Mother'], coef_[0] è il coefficiente per Father e coef_[1] è per Mother.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.33
Costruzione della Regressione Lineare Multipla
Scorri per mostrare il menu
La classe LinearRegression consente di costruire una Regressione Lineare Multipla nello stesso modo della Regressione Lineare Semplice. Gestisce automaticamente più caratteristiche (colonne) nella matrice di input.
Preparazione dei dati
Abbiamo lo stesso dataset dell'esempio di regressione lineare semplice, ma ora include l'altezza della madre come seconda caratteristica. Lo caricheremo ed esamineremo la sua variabile 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())
Per impostazione predefinita, il parametro fit_intercept=True è attivato, quindi il modello calcola automaticamente il termine di bias ()!
Possiamo passare direttamente il DataFrame X (che è già bidimensionale) al modello.
Ricerca dei Parametri
Ottimo! Ora possiamo costruire il modello, trovare i parametri ed effettuare previsioni.
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)
Ora che il nostro set di addestramento ha 2 caratteristiche, dobbiamo fornire 2 caratteristiche per ogni nuova istanza che vogliamo prevedere. Ecco perché è stato utilizzato np.array([[65, 62],[70, 65],[75, 70]]).
Inoltre, nota che model.coef_ restituisce un array di coefficienti corrispondenti all'ordine delle colonne in X. Poiché X era ['Father', 'Mother'], coef_[0] è il coefficiente per Father e coef_[1] è per Mother.
Grazie per i tuoi commenti!