Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Construction de la Régression Linéaire Multiple | Section
Fondamentaux de l'apprentissage supervisé

bookConstruction 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 :

12345678
import 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())
copy

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.

12345678910111213141516171819202122
from 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)
copy
Note
Remarque

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.

question mark

La classe LinearRegression nécessite-t-elle d'ajouter manuellement une colonne constante ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookConstruction 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 :

12345678
import 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())
copy

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.

12345678910111213141516171819202122
from 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)
copy
Note
Remarque

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.

question mark

La classe LinearRegression nécessite-t-elle d'ajouter manuellement une colonne constante ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
some-alt