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 NumPy | 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 NumPy

Vous savez déjà ce qu'est la régression linéaire simple et comment trouver la ligne qui s'ajuste le mieux aux données. Passons en revue toutes les étapes de la construction d'une régression linéaire pour un jeu de données réel.

Chargement des données

Nous avons un fichier, simple_height_data.csv, avec les données de nos exemples. Chargeons le fichier et examinons-le.

123456
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 print(df.head()) # Print the first 5 instances from a dataset
copy

Donc, le jeu de données a deux colonnes, l'une est 'Height', qui est notre cible, et la deuxième colonne, 'Father', est la taille du père. C'est notre caractéristique.
Attribuons nos valeurs cibles à la variable y et les valeurs des caractéristiques à X et construisons un nuage de points.

12345678910
import pandas as pd import matplotlib.pyplot as plt 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 = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Trouver les paramètres

Maintenant, NumPy a une fonction pratique pour trouver les paramètres de la régression linéaire.

La régression linéaire est une régression polynomiale de degré 1 (nous parlerons de la régression polynomiale dans les sections suivantes). C'est pourquoi nous devons mettre deg=1 pour obtenir les paramètres de la régression linéaire.
Voici un exemple :

12345678910
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) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy

Remarque

Si vous n'êtes pas familier avec la syntaxe beta_1, beta_0 = np.polyfit(X,y,1), cela s'appelle le déballage.
Si vous avez un itérateur (par exemple, liste ou tableau NumPy ou série pandas) qui a deux éléments, écrire

est équivalent à

Et comme le retour de la fonction polyfit() est un tableau NumPy avec deux valeurs, nous sommes autorisés à faire cela.

Faire les prédictions

Maintenant, nous pouvons tracer la ligne et prédire de nouvelles variables en utilisant les paramètres.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X) # Plot the line
copy

Maintenant que nous avons les paramètres, nous pouvons utiliser l'équation de régression linéaire pour prédire de nouvelles valeurs.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt 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'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Il est donc assez facile d'obtenir les paramètres de la régression linéaire. Mais certaines bibliothèques peuvent également vous fournir des informations supplémentaires. Regardons une de ces bibliothèques.

Vous pouvez trouver les paramètres de la régression linéaire simple en utilisant la fonction de numpy :

Vous pouvez trouver les paramètres de la régression linéaire simple en utilisant la fonction de numpy :

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 3
We're sorry to hear that something went wrong. What happened?
some-alt