Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Construction d'une Régression Linéaire à l'Aide de Statsmodels | Régression Linéaire Simple
Régression Linéaire Avec Python

Construction d'une Régression Linéaire à l'Aide de Statsmodels

Glissez pour afficher le menu

Construction d'un modèle de régression linéaire

Dans statsmodels, la classe OLS peut être utilisée pour créer un modèle de régression linéaire.

Classe OLS

Il faut d'abord initialiser un objet de la classe OLS en utilisant sm.OLS(y, X_tilde). Ensuite, l'entraîner avec la méthode fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Ce qui est équivalent à :

model = sm.OLS(y, X_tilde).fit()
Note
Remarque

Le constructeur de la classe OLS attend un tableau spécifique X_tilde en entrée, comme vu dans l'Équation Normale. Il est donc nécessaire de convertir votre tableau X en X_tilde. Cela peut être réalisé à l'aide de la fonction sm.add_constant().

Recherche des paramètres

Lorsque le modèle est entraîné, il est possible d'accéder facilement aux paramètres à l'aide de l'attribut params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)

Réalisation des prédictions

De nouvelles instances peuvent facilement être prédites à l'aide de la méthode predict(), mais il est également nécessaire de prétraiter les entrées pour celles-ci :

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))

Obtention du résumé

Comme vous l'avez probablement remarqué, l'utilisation de la classe OLS n'est pas aussi simple que la fonction polyfit(). Cependant, utiliser OLS présente des avantages. Lors de l'entraînement, de nombreuses informations statistiques sont calculées. Vous pouvez accéder à ces informations à l'aide de la méthode summary().

1
print(model.summary())

Cela fait beaucoup de statistiques. Nous aborderons les parties les plus importantes du tableau dans les sections suivantes.

question mark

Choisissez l'affirmation INCORRECTE.

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 4

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

Construction d'une Régression Linéaire à l'Aide de Statsmodels

Construction d'un modèle de régression linéaire

Dans statsmodels, la classe OLS peut être utilisée pour créer un modèle de régression linéaire.

Classe OLS

Il faut d'abord initialiser un objet de la classe OLS en utilisant sm.OLS(y, X_tilde). Ensuite, l'entraîner avec la méthode fit().

model = sm.OLS(y, X_tilde)
model = model.fit()

Ce qui est équivalent à :

model = sm.OLS(y, X_tilde).fit()
Note
Remarque

Le constructeur de la classe OLS attend un tableau spécifique X_tilde en entrée, comme vu dans l'Équation Normale. Il est donc nécessaire de convertir votre tableau X en X_tilde. Cela peut être réalisé à l'aide de la fonction sm.add_constant().

Recherche des paramètres

Lorsque le modèle est entraîné, il est possible d'accéder facilement aux paramètres à l'aide de l'attribut params.

123456789
import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)

Réalisation des prédictions

De nouvelles instances peuvent facilement être prédites à l'aide de la méthode predict(), mais il est également nécessaire de prétraiter les entrées pour celles-ci :

12345
import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))

Obtention du résumé

Comme vous l'avez probablement remarqué, l'utilisation de la classe OLS n'est pas aussi simple que la fonction polyfit(). Cependant, utiliser OLS présente des avantages. Lors de l'entraînement, de nombreuses informations statistiques sont calculées. Vous pouvez accéder à ces informations à l'aide de la méthode summary().

1
print(model.summary())

Cela fait beaucoup de statistiques. Nous aborderons les parties les plus importantes du tableau dans les sections suivantes.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 4
some-alt