Construction de la Régression Linéaire Multiple
La classe LinearRegression permet de construire une régression linéaire multiple de la même manière qu'une régression linéaire simple. Elle gère automatiquement plusieurs variables explicatives (colonnes) dans la matrice d'entrée.
Préparation des données
Nous utilisons le même jeu de données que dans l'exemple de régression linéaire simple, mais il comporte désormais la taille de la mère comme seconde variable explicative. Nous allons le charger et examiner la variable 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())
Par défaut, le paramètre fit_intercept=True est activé, donc le modèle calcule automatiquement le terme de biais () !
Nous pouvons transmettre directement le DataFrame X (qui est déjà en 2D) au modèle.
Recherche des paramètres
Excellent ! Nous pouvons maintenant construire le modèle, trouver les paramètres et effectuer des prédictions.
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)
Maintenant que notre ensemble d'entraînement possède 2 variables explicatives, il est nécessaire de fournir 2 variables pour chaque nouvelle instance à prédire. C'est pourquoi np.array([[65, 62],[70, 65],[75, 70]]) a été utilisé.
De plus, notez que model.coef_ retourne un tableau de coefficients correspondant à l'ordre des colonnes dans X. Puisque X était ['Father', 'Mother'], coef_[0] correspond à la pente pour Father, et coef_[1] à celle pour Mother.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Génial!
Completion taux amélioré à 3.33
Construction de la Régression Linéaire Multiple
Glissez pour afficher le menu
La classe LinearRegression permet de construire une régression linéaire multiple de la même manière qu'une régression linéaire simple. Elle gère automatiquement plusieurs variables explicatives (colonnes) dans la matrice d'entrée.
Préparation des données
Nous utilisons le même jeu de données que dans l'exemple de régression linéaire simple, mais il comporte désormais la taille de la mère comme seconde variable explicative. Nous allons le charger et examiner la variable 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())
Par défaut, le paramètre fit_intercept=True est activé, donc le modèle calcule automatiquement le terme de biais () !
Nous pouvons transmettre directement le DataFrame X (qui est déjà en 2D) au modèle.
Recherche des paramètres
Excellent ! Nous pouvons maintenant construire le modèle, trouver les paramètres et effectuer des prédictions.
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)
Maintenant que notre ensemble d'entraînement possède 2 variables explicatives, il est nécessaire de fournir 2 variables pour chaque nouvelle instance à prédire. C'est pourquoi np.array([[65, 62],[70, 65],[75, 70]]) a été utilisé.
De plus, notez que model.coef_ retourne un tableau de coefficients correspondant à l'ordre des colonnes dans X. Puisque X était ['Father', 'Mother'], coef_[0] correspond à la pente pour Father, et coef_[1] à celle pour Mother.
Merci pour vos commentaires !