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.
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()
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.
123456789import 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 :
12345import 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().
1print(model.summary())
Cela fait beaucoup de statistiques. Nous aborderons les parties les plus importantes du tableau dans les sections suivantes.
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
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.
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()
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.
123456789import 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 :
12345import 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().
1print(model.summary())
Cela fait beaucoup de statistiques. Nous aborderons les parties les plus importantes du tableau dans les sections suivantes.
Merci pour vos commentaires !