Introduction
Dans ce projet, vous allez apprendre à implémenter la méthode des moindres carrés ordinaires (OLS en anglais) en Python. L'OLS est une technique fondamentale d'optimisation mathématique utilisée en apprentissage automatique, en particulier dans les problèmes de régression linéaire.
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment implémenter la fonction OLS pour calculer la pente (w1) et l'intercept (w0) d'une équation linéaire sur la base de données d'échantillons.
- Comment tester la fonction OLS avec des données d'échantillons et vérifier la correction des résultats.
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Découvrir les formules OLS pour calculer la pente et l'intercept d'une équation linéaire.
- Implémenter la fonction OLS en Python sans utiliser de bibliothèques externes.
- Tester et valider la fonction OLS avec des données d'échantillons.
- Comprendre l'importance de la méthode OLS en apprentissage automatique et dans les problèmes de régression linéaire.
Implémentez la fonction des moindres carrés
Dans cette étape, vous allez implémenter la fonction des moindres carrés ordinaires (OLS en anglais) en Python. Suivez les étapes ci-dessous pour terminer cette étape :
Ouvrez le fichier
least_squares.pydans votre éditeur de texte.Implémentez la fonction
least_squares_functionselon les spécifications fournies :- La fonction devrait prendre deux paramètres d'entrée :
x(une liste de valeurs d'échantillons x) ety(une liste de valeurs d'échantillons y). - La fonction devrait calculer la pente (
w1) et l'intercept (w0) de l'équation linéaire à l'aide des formules OLS fournies dans la description du défi. - La fonction devrait arrondir les valeurs calculées de
w0etw1à deux décimales avant de les retourner. - La fonction devrait retourner les valeurs de
w0etw1dans cet ordre.
- La fonction devrait prendre deux paramètres d'entrée :
Voici l'implémentation complète de la fonction least_squares_function :
def least_squares_function(x, y):
"""
Paramètres :
x -- liste de valeurs d'échantillons x
y -- liste de valeurs d'échantillons y
Retourne :
w0 -- paramètre de l'équation linéaire, arrondi à deux décimales
w1 -- paramètre de l'équation linéaire, arrondi à deux décimales
"""
n = len(x)
## Calcule les sommes nécessaires pour la pente (w1) et l'intercept (w0)
sum_x = sum(x)
sum_y = sum(y)
sum_xy = sum(x_i * y_i for x_i, y_i in zip(x, y))
sum_x_squared = sum(x_i**2 for x_i in x)
## Calcule la pente (w1) et l'intercept (w0) à l'aide des formules OLS
w1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x**2)
w0 = (sum_y - w1 * sum_x) / n
## Arrondi à deux décimales
w0 = round(w0, 2)
w1 = round(w1, 2)
return w0, w1
- Enregistrez le fichier
least_squares.py.
Testez la fonction des moindres carrés
Dans cette étape, vous allez tester la fonction least_squares_function que vous avez implémentée dans l'étape précédente.
- Vous pouvez voir le code suivant à la fin du fichier pour tester la fonction
least_squares_function:
## Utilisation exemple
if __name__ == "__main__":
x_example = [1, 2, 3, 4]
y_example = [4, 5, 6, 7]
result = least_squares_function(x_example, y_example)
print("w0:", result[0])
print("w1:", result[1])
- Exécutez le script
least_squares.pydans votre terminal :
python3 least_squares.py
Vous devriez voir la sortie suivante :
w0: 3.0
w1: 1.0
Cette sortie confirme que la fonction least_squares_function fonctionne comme prévu.
Félicitations ! Vous avez réussi à implémenter la fonction des moindres carrés ordinaires en Python. Dans les étapes suivantes, vous pouvez explorer comment utiliser cette fonction dans un problème d'apprentissage automatique du monde réel.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.



