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 avec Statsmodels | Régression Linéaire Simple
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. Choisir le Meilleur Modèle

book
Construction de la Régression Linéaire avec Statsmodels

Dans le chapitre précédent, nous avons utilisé une fonction de NumPy pour calculer les paramètres.
Maintenant, nous allons utiliser l'objet de classe au lieu de la fonction pour représenter la régression linéaire. Cette approche nécessite plus de lignes de code pour trouver les paramètres, mais elle stocke beaucoup d'informations utiles à l'intérieur de l'objet et rend la prédiction plus simple.

Construire 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.

Nous devons d'abord initialiser un objet de classe OLS en utilisant sm.OLS(y, X_tilde). Ensuite, entraînez-le en utilisant la méthode fit().

Ce qui équivaut à :

Remarque

Le constructeur de la classe OLS attend un tableau spécifique X_tilde en entrée, que nous avons vu dans l'Équation Normale. Vous devez donc convertir votre tableau X en X_tilde. Cela est réalisable en utilisant la fonction sm.add_constant().

Trouver les paramètres

Lorsque le modèle est entraîné, vous pouvez facilement accéder aux paramètres en utilisant l'attribut params.

12345678910111213141516
import statsmodels.api as sm # import statsmodels import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Open the file X, y = df['Father'], df['Height'] # Assign the variables # Get the correct form of input for OLS X_tilde = sm.add_constant(X) # 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 = regression_model.params print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1)
copy

Faire les prédictions

De nouvelles instances peuvent être facilement prédites en utilisant la méthode predict(), mais vous devez également prétraiter l'entrée pour elles :

1234567891011121314151617
import statsmodels.api as sm import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Open the file X, y = df['Father'], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Preprocess regression_model = sm.OLS(y, X_tilde) # Initialize an OLS object regression_model = regression_model.fit() # Train the object # Predict new values X_new = np.array([65,70,75]) # 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(y_pred)
copy

Obtenir le résumé

Comme vous l'avez probablement remarqué, utiliser la classe OLS n'est pas aussi simple que la fonction polyfit(). Mais utiliser OLS a ses avantages. Pendant l'entraînement, il calcule beaucoup d'informations statistiques. Vous pouvez accéder à ces informations en utilisant la méthode summary().

123456789101112
import statsmodels.api as sm import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) # Preprocess X regression_model = sm.OLS(y, X_tilde) # Initialize an OLS object regression_model = regression_model.fit() # Train the object # Print the summary print(regression_model.summary())
copy

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

Choisissez l'affirmation INCORRECTE.

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
We're sorry to hear that something went wrong. What happened?
some-alt