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 | Régression Linéaire Multiple
Régression Linéaire Avec Python
course content

Contenu du cours

Régression Linéaire Avec Python

Régression Linéaire Avec Python

1. Régression Linéaire Simple
2. Régression Linéaire Multiple
3. Régression Polynomiale
4. Choosing the Best Model

book
Construction de la Régression Linéaire Multiple

La classe OLS permet de construire une régression linéaire multiple de la même manière qu'une régression linéaire simple. Cependant, la fonction np.polyfit() ne gère malheureusement pas le cas des multiples variables explicatives.

Nous allons donc utiliser la classe OLS.

Construction de la matrice X̃

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 sa variable X :

123456789
import pandas as pd import statsmodels.api as sm 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

Rappel : il convient d'utiliser OLS(y, X_tilde) pour initialiser l'objet OLS. Comme vous pouvez le constater, la variable X contient déjà deux caractéristiques dans des colonnes séparées. Ainsi, pour obtenir X_tilde, il suffit d'ajouter des 1 en première colonne. La fonction sm.add_constant(X) réalise précisément cette opération !

1234567891011
import pandas as pd import statsmodels.api as sm 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'] # Create X_tilde X_tilde = sm.add_constant(X) print(X_tilde.head())
copy

Recherche des paramètres

Excellent ! Nous pouvons maintenant construire le modèle, trouver les paramètres et effectuer des prédictions de la même manière que dans la section précédente.

12345678910111213141516171819202122
import pandas as pd import statsmodels.api as sm import numpy as np 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 X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde # Initialize an OLS object regression_model = sm.OLS(y, X_tilde) # Train the object regression_model = regression_model.fit() # Get the paramters beta_0, beta_1, beta_2 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values X_new = np.array([[65, 62],[70, 65],[75, 70]]) # Feature values of new instances X_new_tilde = sm.add_constant(X_new) # Preprocess X_new y_pred = regression_model.predict(X_new_tilde) # 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 caractéristiques pour chaque nouvelle instance à prédire. C'est pourquoi np.array([[65, 62],[70, 65],[75, 70]]) a été utilisé dans l'exemple ci-dessus. Cela permet de prédire y pour 3 nouvelles instances : [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Que fait la fonction sm.add_constant(X) ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

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

course content

Contenu du cours

Régression Linéaire Avec Python

Régression Linéaire Avec Python

1. Régression Linéaire Simple
2. Régression Linéaire Multiple
3. Régression Polynomiale
4. Choosing the Best Model

book
Construction de la Régression Linéaire Multiple

La classe OLS permet de construire une régression linéaire multiple de la même manière qu'une régression linéaire simple. Cependant, la fonction np.polyfit() ne gère malheureusement pas le cas des multiples variables explicatives.

Nous allons donc utiliser la classe OLS.

Construction de la matrice X̃

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 sa variable X :

123456789
import pandas as pd import statsmodels.api as sm 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

Rappel : il convient d'utiliser OLS(y, X_tilde) pour initialiser l'objet OLS. Comme vous pouvez le constater, la variable X contient déjà deux caractéristiques dans des colonnes séparées. Ainsi, pour obtenir X_tilde, il suffit d'ajouter des 1 en première colonne. La fonction sm.add_constant(X) réalise précisément cette opération !

1234567891011
import pandas as pd import statsmodels.api as sm 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'] # Create X_tilde X_tilde = sm.add_constant(X) print(X_tilde.head())
copy

Recherche des paramètres

Excellent ! Nous pouvons maintenant construire le modèle, trouver les paramètres et effectuer des prédictions de la même manière que dans la section précédente.

12345678910111213141516171819202122
import pandas as pd import statsmodels.api as sm import numpy as np 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 X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde # Initialize an OLS object regression_model = sm.OLS(y, X_tilde) # Train the object regression_model = regression_model.fit() # Get the paramters beta_0, beta_1, beta_2 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values X_new = np.array([[65, 62],[70, 65],[75, 70]]) # Feature values of new instances X_new_tilde = sm.add_constant(X_new) # Preprocess X_new y_pred = regression_model.predict(X_new_tilde) # 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 caractéristiques pour chaque nouvelle instance à prédire. C'est pourquoi np.array([[65, 62],[70, 65],[75, 70]]) a été utilisé dans l'exemple ci-dessus. Cela permet de prédire y pour 3 nouvelles instances : [Father:65,Mother:62], [Father:70, Mother:65], [Father:75, Mother:70].

question mark

Que fait la fonction sm.add_constant(X) ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt