Construction d'une Régression Linéaire avec NumPy
Glissez pour afficher le menu
Vous connaissez déjà la régression linéaire simple et la méthode pour trouver la droite qui s'ajuste le mieux aux données. Vous allez maintenant suivre toutes les étapes pour construire une régression linéaire sur un jeu de données réel.
Chargement des données
Nous disposons d'un fichier, simple_height_data.csv, contenant les données de nos exemples. Nous allons charger ce fichier et l'examiner :
123456import 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
Le jeu de données comporte deux colonnes : la première est 'Father', qui représente la caractéristique d'entrée, et la seconde est 'Height', qui est notre variable cible.
Les valeurs cibles sont assignées à la variable y et les valeurs de la caractéristique à X, puis un nuage de points est construit.
123456import matplotlib.pyplot as plt X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
Recherche des paramètres
NumPy propose une fonction pratique pour déterminer les paramètres de la régression linéaire.
La régression linéaire est une régression polynomiale de degré 1 (nous aborderons la régression polynomiale dans les sections suivantes). C'est pourquoi il faut indiquer deg=1 pour obtenir les paramètres de la régression linéaire.
Voici un exemple :
12345import numpy as np beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
Si vous n'êtes pas familier avec la syntaxe beta_1, beta_0 = np.polyfit(X,y,1), cela s'appelle le déballage (unpacking). Si vous avez un itérateur (par exemple, une liste, un tableau NumPy ou une série pandas) qui contient deux éléments, écrire
a, b = my_iterator
est équivalent à
a = my_iterator[0]
b = my_iterator[1]
Et puisque le retour de la fonction polyfit() est un tableau NumPy avec deux valeurs, il est possible de procéder ainsi.
Réalisation des prédictions
Nous pouvons maintenant tracer la droite et prédire de nouvelles variables en utilisant les paramètres.
123plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
Maintenant que nous avons les paramètres, nous pouvons utiliser l'équation de la régression linéaire pour prédire de nouvelles valeurs.
123X_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)
Il est donc assez simple d'obtenir les paramètres de la régression linéaire. Mais certaines bibliothèques peuvent également fournir des informations supplémentaires.
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