Ajustement et tracé de régression linéaire

Machine LearningMachine LearningBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à effectuer une régression linéaire sur un ensemble de points de données et à visualiser les résultats à l'aide de Matplotlib. La régression linéaire est une technique fondamentale d'apprentissage automatique utilisée pour modéliser la relation entre une variable dépendante (y) et une ou plusieurs variables indépendantes (x).

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment convertir les données données en un tableau Numpy pour une manipulation plus facile
  • Comment calculer les coefficients du modèle de régression linéaire, y compris la pente (w) et l'intercept (b)
  • Comment tracer les points de données sur un graphique à dispersion et tracer la droite de régression linéaire sur le même graphique

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Préparer les données pour l'analyse de régression linéaire
  • Utiliser des fonctions Numpy pour calculer les paramètres de régression linéaire
  • Créer un graphique à dispersion et superposer la droite de régression linéaire à l'aide de Matplotlib
  • Gagner une meilleure compréhension de la régression linéaire et de ses applications pratiques dans l'analyse et la visualisation des données

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/BasicConceptsGroup(["Basic Concepts"]) ml(("Machine Learning")) -.-> ml/RegressionAlgorithmsGroup(["Regression Algorithms"]) ml(("Machine Learning")) -.-> ml/EvaluationMetricsGroup(["Evaluation Metrics"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/BasicConceptsGroup -.-> ml/basic_concept("Basic Concept") ml/RegressionAlgorithmsGroup -.-> ml/linear_regression("Linear Regression") ml/EvaluationMetricsGroup -.-> ml/mse("Mean Squared Error") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/basic_concept -.-> lab-300236{{"Ajustement et tracé de régression linéaire"}} ml/linear_regression -.-> lab-300236{{"Ajustement et tracé de régression linéaire"}} ml/mse -.-> lab-300236{{"Ajustement et tracé de régression linéaire"}} ml/sklearn -.-> lab-300236{{"Ajustement et tracé de régression linéaire"}} end

Convertir les données en tableau NumPy

Dans cette étape, vous allez apprendre à convertir les données données en un tableau NumPy pour une manipulation plus facile.

Ouvrez le fichier linear_regression_plot.py.

Localisez la variable data au début de la fonction linear_plot().

Convertissez la liste data en un tableau NumPy à l'aide de la fonction np.array().

data = np.array(data)

Maintenant, la variable data est un tableau NumPy, ce qui la rendra plus facile à manipuler dans les étapes suivantes.

✨ Vérifier la solution et pratiquer

Calculer les paramètres de régression linéaire

Dans cette étape, vous allez apprendre à calculer les valeurs du coefficient w et de l'intercept b à partir des données.

Continuez dans la fonction linear_plot(), extrayez les valeurs de x et y à partir du tableau NumPy data.

x = data[:, 0]
y = data[:, 1]

Utilisez la fonction np.polyfit() pour calculer les paramètres de régression linéaire w et b.

w, b = np.polyfit(x, y, 1)

Arrondissez les valeurs calculées de w et b à deux décimales à l'aide de la fonction round().

w = round(w, 2)
b = round(b, 2)

Maintenant, vous avez les valeurs du coefficient w et de l'intercept b prêtes à être utilisées dans l'étape suivante.

✨ Vérifier la solution et pratiquer

Tracer la droite de régression linéaire

Dans cette étape, vous allez apprendre à tracer le graphique à dispersion d'échantillonnage et à tracer la droite d'ajustement sur le graphique en fonction des paramètres calculés.

Continuez dans la fonction linear_plot(), créez une nouvelle figure et un nouvel axe Matplotlib à l'aide de plt.subplots().

fig, ax = plt.subplots()

Tracez les points de données à l'aide de la fonction ax.scatter().

ax.scatter(x, y, label="Points de données")

Tracez la droite de régression linéaire à l'aide de la fonction ax.plot() et des valeurs calculées de w et b.

ax.plot(x, w * x + b, couleur="rouge", label=f"Ajustement linéaire : y = {w}x + {b}")

Ajoutez des étiquettes et une légende au graphique.

ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.legend()

Enfin, renvoyez les valeurs de w, b et de l'objet fig.

return w, b, fig

Maintenant, vous avez terminé la fonction linear_plot(), qui effectue une régression linéaire sur les données données et renvoie les coefficients et l'objet de tracé Matplotlib.

✨ Vérifier la solution et pratiquer

Exécuter le tracé de régression linéaire

Dans cette étape finale, vous allez apprendre à exécuter votre script pour voir le tracé de régression linéaire en action. Cette partie du code utilisera les fonctions définies précédemment dans linear_plot() pour afficher le graphique à dispersion ainsi que la droite de régression linéaire.

Le extrait de code Python fourni vérifiera si le script est exécuté en tant que programme principal et, si c'est le cas, il appellera la fonction linear_plot() et affichera le tracé résultant.

if __name__ == "__main__":
    ## Appelez la fonction linear_plot pour calculer les paramètres de régression et générer le tracé
    w, b, fig = linear_plot()
    ## Affichez le tracé
    plt.show()

Ici, if __name__ == "__main__": assure que la fonction linear_plot() est appelée seulement lorsque le script est exécuté directement, pas lorsqu'il est importé en tant que module. Après avoir appelé linear_plot(), qui renvoie la pente w, l'intercept b et l'objet figure fig, plt.show() est utilisé pour afficher le tracé dans une fenêtre. Cela vous permet d'inspecter visuellement l'ajustement de la droite de régression aux données.

Maintenant, vous pouvez appuyer sur le bouton "Exécuter la cellule" en haut de la première ligne de linear_regression_plot.py et voir le résultat.

Résultat du tracé de régression linéaire

Avec cette configuration, vous pouvez facilement exécuter le script avec différents ensembles de données ou des ajustements du calcul de régression pour voir immédiatement des réponses visuelles.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.