From ab6e3cdd304677db6f88ee579e82a7222628e418 Mon Sep 17 00:00:00 2001
From: Emmanuel Dellandrea <emmanuel.dellandrea@ec-lyon.fr>
Date: Wed, 8 Jan 2025 13:50:45 +0100
Subject: [PATCH] Ajout TD2

---
 TD/TD2/ML-TD2.pdf             | Bin 0 -> 64467 bytes
 TD/TD2/food_truck.txt         |  97 ++++++++++++++++++
 TD/TD2/houses.txt             |  47 +++++++++
 TD/TD2/regression_lineaire.py | 186 ++++++++++++++++++++++++++++++++++
 4 files changed, 330 insertions(+)
 create mode 100644 TD/TD2/ML-TD2.pdf
 create mode 100644 TD/TD2/food_truck.txt
 create mode 100644 TD/TD2/houses.txt
 create mode 100644 TD/TD2/regression_lineaire.py

diff --git a/TD/TD2/ML-TD2.pdf b/TD/TD2/ML-TD2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..0fbcbf5398739e202a5a64ed6147fb1a835d58d5
GIT binary patch
literal 64467
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

literal 0
HcmV?d00001

diff --git a/TD/TD2/food_truck.txt b/TD/TD2/food_truck.txt
new file mode 100644
index 0000000..0f88ccb
--- /dev/null
+++ b/TD/TD2/food_truck.txt
@@ -0,0 +1,97 @@
+6.1101,17.592
+5.5277,9.1302
+8.5186,13.662
+7.0032,11.854
+5.8598,6.8233
+8.3829,11.886
+7.4764,4.3483
+8.5781,12
+6.4862,6.5987
+5.0546,3.8166
+5.7107,3.2522
+14.164,15.505
+5.734,3.1551
+8.4084,7.2258
+5.6407,0.71618
+5.3794,3.5129
+6.3654,5.3048
+5.1301,0.56077
+6.4296,3.6518
+7.0708,5.3893
+6.1891,3.1386
+20.27,21.767
+5.4901,4.263
+6.3261,5.1875
+5.5649,3.0825
+18.945,22.638
+12.828,13.501
+10.957,7.0467
+13.176,14.692
+22.203,24.147
+5.2524,-1.22
+6.5894,5.9966
+9.2482,12.134
+5.8918,1.8495
+8.2111,6.5426
+7.9334,4.5623
+8.0959,4.1164
+5.6063,3.3928
+12.836,10.117
+6.3534,5.4974
+5.4069,0.55657
+6.8825,3.9115
+11.708,5.3854
+5.7737,2.4406
+7.8247,6.7318
+7.0931,1.0463
+5.0702,5.1337
+5.8014,1.844
+11.7,8.0043
+5.5416,1.0179
+7.5402,6.7504
+5.3077,1.8396
+7.4239,4.2885
+7.6031,4.9981
+6.3328,1.4233
+6.3589,-1.4211
+6.2742,2.4756
+5.6397,4.6042
+9.3102,3.9624
+9.4536,5.4141
+8.8254,5.1694
+5.1793,-0.74279
+21.279,17.929
+14.908,12.054
+18.959,17.054
+7.2182,4.8852
+8.2951,5.7442
+10.236,7.7754
+5.4994,1.0173
+20.341,20.992
+10.136,6.6799
+7.3345,4.0259
+6.0062,1.2784
+7.2259,3.3411
+5.0269,-2.6807
+6.5479,0.29678
+7.5386,3.8845
+5.0365,5.7014
+10.274,6.7526
+5.1077,2.0576
+5.7292,0.47953
+5.1884,0.20421
+6.3557,0.67861
+9.7687,7.5435
+6.5159,5.3436
+8.5172,4.2415
+9.1802,6.7981
+6.002,0.92695
+5.5204,0.152
+5.0594,2.8214
+5.7077,1.8451
+7.6366,4.2959
+5.8707,7.2029
+5.3054,1.9869
+8.2934,0.14454
+13.394,9.0551
+5.4369,0.61705
diff --git a/TD/TD2/houses.txt b/TD/TD2/houses.txt
new file mode 100644
index 0000000..79e9a80
--- /dev/null
+++ b/TD/TD2/houses.txt
@@ -0,0 +1,47 @@
+2104,3,399900
+1600,3,329900
+2400,3,369000
+1416,2,232000
+3000,4,539900
+1985,4,299900
+1534,3,314900
+1427,3,198999
+1380,3,212000
+1494,3,242500
+1940,4,239999
+2000,3,347000
+1890,3,329999
+4478,5,699900
+1268,3,259900
+2300,4,449900
+1320,2,299900
+1236,3,199900
+2609,4,499998
+3031,4,599000
+1767,3,252900
+1888,2,255000
+1604,3,242900
+1962,4,259900
+3890,3,573900
+1100,3,249900
+1458,3,464500
+2526,3,469000
+2200,3,475000
+2637,3,299900
+1839,2,349900
+1000,1,169900
+2040,4,314900
+3137,3,579900
+1811,4,285900
+1437,3,249900
+1239,3,229900
+2132,4,345000
+4215,4,549000
+2162,4,287000
+1664,2,368500
+2238,3,329900
+2567,4,314000
+1200,3,299000
+852,2,179900
+1852,4,299900
+1203,3,239500
diff --git a/TD/TD2/regression_lineaire.py b/TD/TD2/regression_lineaire.py
new file mode 100644
index 0000000..d9e5a22
--- /dev/null
+++ b/TD/TD2/regression_lineaire.py
@@ -0,0 +1,186 @@
+import matplotlib.pyplot as plt
+import numpy as np
+
+def lecture_donnees(nom_fichier, delimiteur=','):
+    """ Lit le fichier contenant les données et renvoiee les matrices correspondant
+
+    Parametres
+    ----------
+    nom_fichier : nom du fichier contenant les données
+    delimiteur : caratère délimitant les colonne dans le fichier ("," par défaut)
+
+    Retour
+    -------
+    X : matrice des données de dimension [N, nb_var]
+    Y : matrice contenant les valeurs de la variable cible de dimension [N, 1]
+    N : nombre d'éléments
+    nb_var : nombre de variables prédictives
+
+    """
+    
+    data = np.loadtxt(nom_fichier, delimiter=delimiteur)
+    
+    #######################
+    ##### A compléter ##### 
+    #######################
+    
+    # return X, Y, N, nb_var
+
+def normalisation(X):
+    """
+    
+
+    Parametres
+    ----------
+    X : matrice des données de dimension [N, nb_var]
+    
+    avec N : nombre d'éléments et nb_var : nombre de variables prédictives
+
+    Retour
+    -------
+    X_norm : matrice des données centrées-réduites de dimension [N, nb_var]
+    mu : moyenne des variables de dimension [1,nb_var]
+    sigma : écart-type des variables de dimension [1,nb_var]
+
+    """
+    
+    #########################################################
+    ##### A compléter (et supprimer l'instruction pass) ##### 
+    #########################################################
+    pass
+
+    # return X_norm, mu, sigma
+
+def calcule_cout(X, Y, theta):
+    """ Calcule la valeur de la fonction cout (moyenne des différences au carré)
+    
+    Parametres
+    ----------
+    X : matrice des données de dimension [N, nb_var+1]
+    Y : matrice contenant les valeurs de la variable cible de dimension [N, 1]
+    theta : matrices contenant les paramètres theta du modèle linéaire de dimension [1, nb_var+1]
+    
+    avec N : nombre d'éléments et nb_var : nombre de variables prédictives
+
+    Return
+    -------
+    cout : nombre correspondant à la valeur de la fonction cout (moyenne des différences au carré)
+
+    """
+
+    #########################################################
+    ##### A compléter (et supprimer l'instruction pass) ##### 
+    #########################################################
+    pass
+
+    # return cout
+
+def descente_gradient(X, Y, theta, alpha, nb_iters):
+    """ Apprentissage des parametres de regression linéaire par descente du gradient
+    
+    Parametres
+    ----------
+    X : matrice des données de dimension [N, nb_var+1]
+    Y : matrice contenant les valeurs de la variable cible de dimension [N, 1]
+    theta : matrices contenant les paramètres theta du modèle linéaire de dimension [1, nb_var+1]
+    alpha : taux d'apprentissage
+    nb_iters : nombre d'itérations
+    
+    avec N : nombre d'éléments et nb_var : nombre de variables prédictives
+
+
+    Retour
+    -------
+    theta : matrices contenant les paramètres theta appris par descente du gradient de dimension [1, nb_var+1]
+    J_history : tableau contenant les valeurs de la fonction cout pour chaque iteration de dimension nb_iters
+
+
+    """
+    
+    # Initialisation de variables utiles
+    N = X.shape[0]
+    J_history = np.zeros(nb_iters)
+
+    for i in range(0, nb_iters):
+
+        #########################################################
+        ##### A compléter (et supprimer l'instruction pass) ##### 
+        #########################################################
+        pass
+        
+
+    return theta, J_history
+
+def affichage(X, Y, theta):
+    """ Affichage en 2 dimensions des données et de la courbe de régression linéaire déterminée par theta
+    
+
+    Parametres
+    ----------
+    X : matrice des données de dimension [N, nb_var+1]
+    Y : matrice contenant les valeurs de la variable cible de dimension [N, 1]
+    theta : matrices contenant les paramètres theta du modèle linéaire de dimension [1, nb_var+1]
+    
+    avec N : nombre d'éléments et nb_var : nombre de variables prédictives
+
+    Retour
+    -------
+    None
+
+    """
+    #########################################################
+    ##### A compléter (et supprimer l'instruction pass) ##### 
+    #########################################################
+    pass
+    
+    plt.show()
+
+
+if __name__ == "__main__":
+
+    # ===================== Partie 1: Lecture et normalisation des données=====================
+    print("Lecture des données ...")
+
+    X, Y, N, nb_var = lecture_donnees("food_truck.txt")
+    # X, Y, N, nb_var = lecture_donnees("houses.txt")
+
+    # Affichage des 10 premiers exemples du dataset
+    print("Affichage des 10 premiers exemples du dataset : ")
+    for i in range(0, 10):
+        print(f"x = {X[i,:]}, y = {Y[i]}")
+
+    # Normalisation des variables (centrage-réduction)
+    print("Normalisation des variables ...")
+
+    X, mu, sigma = normalisation(X)
+
+    # Ajout d'une colonne de 1 à X (pour theta0)
+    X = np.hstack((np.ones((N,1)), X)) 
+
+    # ===================== Partie 2: Descente du gradient =====================
+    print("Apprentissage par descente du gradient ...")
+
+    # Choix du taux d'apprentissage et du nombre d'itérations
+    alpha = 0.01
+    nb_iters = 1500
+
+    # Initialisation de theta et réalisation de la descente du gradient
+    theta = np.zeros((1,nb_var+1))
+    theta, J_history = descente_gradient(X, Y, theta, alpha, nb_iters)
+
+    # Affichage de l'évolution de la fonction de cout lors de la descente du gradient
+    plt.figure()
+    plt.title("Evolution de le fonction de cout lors de la descente du gradient")
+    plt.plot(np.arange(J_history.size), J_history)
+    plt.xlabel("Nombre d'iterations")
+    plt.ylabel("Cout J")
+
+    # Affichage de la valeur de theta
+    print(f"Theta calculé par la descente du gradient : {theta}")
+
+    # Dans le cas d'une seule variable, afficher la courbe de regression linéaire
+    if nb_var == 1 :
+        affichage(X,Y,theta)
+    plt.show()
+
+    print("Regression linéaire Terminée.")
-- 
GitLab