Enseignante : Mme Houda ANOUN
E-mail : [Link]@[Link]
Introduction au Machine learning
Apprentissage supervisé vs non-supervisé
Algorithmes de régression :
Régression linéaire simple
Régression linéaire multiple
Métriques d’évaluation pour la régression
Algorithmes de classification :
KNN
Arbres de décision
Forêts aléatoires
Métriques d’évaluation pour la classification
Clustering avec K-means
• Le machine learning (apprentissage automatique)
est un sous-domaine de l’intelligence artificielle
qui permet à des machines d’apprendre à partir de
données sans être explicitement programmées.
• Les algorithmes de machine learning apprennent
de manière autonome à effectuer une tâche ou à
réaliser des prédictions à partir de données et
améliorent leurs performances au fil du temps
-Un anti-spam basé sur le ML s’entraine sur une grande base d’e-mails étiquetés (spam
ou non-spam) pour créer un modèle puis il utilise ce modèle pour prédire si de
nouveaux e-mails sont des spams ou des messages légitimes.
- Un modèle de prédiction des prix des maisons apprend d'abord à partir de données
historiques sur les maisons (caractéristiques des maisons : nb chambres, quartier, surface, … et
le prix associé). Ensuite, on utilise ce modèle entrainé pour prédire les prix des nouvelles
maisons en se basant sur leurs caractéristiques.
- Certaines entreprises utilisent les algorithmes de ML pour mieux regrouper ses clients en
différents sous-groupes (clusters) en fonction de caractéristiques similaires (l'âge, les habitudes
d'achat ou le revenu). L'objectif est de mieux comprendre les besoins et comportements de chaque
sous-groupe afin de personnaliser les offres et améliorer les stratégies marketing.
2 étapes traitées dans ce
cours
Définition du problème : Identifier et formuler clairement le problème à résoudre, en
déterminant les objectifs et les résultats souhaités
Collecte des données : Rassembler les données nécessaires à l’entrainement des
modèles ML et ce à partir de diverses sources (BD, fichiers …)
Exploration et préparation des données : Analyser et visualiser les données collectées
pour comprendre leur structure et leur qualité, puis effectuer un nettoyage et une
transformation pour les rendre prêtes pour la modélisation
Modélisation : Sélectionner et appliquer des algorithmes de machine learning
appropriés pour entraîner des modèles sur les données préparées
Evaluation : Tester les modèles ML sur un ensemble de données de test pour mesurer
leur performance en utilisant des métriques appropriées
Déploiement : Intégrer le modèle le plus performant dans un environnement de
production où il peut être utilisé par des utilisateurs finaux (application web ou
mobile)
Un data-set (jeu de données) est une collection structurée de données organisées et
stockées à des fins d’analyse ou de modélisation (utilisées pour entrainer des modèles
de ML)
Un data-set = un tableau, où les lignes représentent les observations et les colonnes
les attributs (caractéristiques ou features)
Types Quantitatives Qualitatives
valeurs décrivant une quantité modalités qui n’ont pas de sémantique
Définition mesurable sous la forme d’un nombre mathématique (on ne peut pas faire des
calculs sur ces valeurs).
Nature Numérique Non-numérique
Exemples prix, âge, nombre d’enfants, salaire couleur, sexe, type de voiture, niveau de
satisfaction
Sous-catégories - Continues : valeurs réelles - Nominales : non ordonnées
Ex. salaire, prix, poids, taille Ex. sexe (Masculin, Féminin)
- Discrètes : valeurs entières qu’on peut - Ordinales : ordonnées
énumérer Ex. niveau de satisfaction (insatisfait,
Ex. nombre d’enfants neutre, satisfait)
Apprentissage supervisé Apprentissage non-supervisé
L’apprentissage supervisé est la branche la plus populaire du machine learning.
L'algorithme apprend à partir de données étiquetées, c'est-à-dire que chaque exemple
de données a une réponse correcte associée (variable cible ou target)
L’objectif de l’apprentissage supervisé est de construire un modèle (une fonction
mathématique) capable de prédire la bonne valeur cible d’une nouvelle observation
Analogie : un professeur qui supervise l’apprentissage de ses élèves en leur montrant
des exemples de questions / réponses qu’ils doivent apprendre.
Formellement parlant : étant donné un ensemble de m exemples d'apprentissage
(x(i) , y(i)), l’objectif de l’apprentissage supervisé est d’estimer une fonction de prédiction
y = h(x) qui minimise l'écart entre les prédictions h(x(i)) et les valeurs réelles y(i)
Régression : lorsque la variable cible à prédire est quantitative continue (elle peut prendre
une infinité de valeurs dans un ensemble continu de réels)
Exemple de problèmes de régression : prédiction des moyennes générales d’étudiants,
prédiction des salaires d’employés
Classification ou catégorisation : lorsque la variable cible à prédire est qualitative (elle
ne peut prendre qu’un nombre fini de valeurs)
Exemples de problèmes de classification : prédiction du risque de développer une
maladie cardiovasculaire (pas de risque, moyen, élevé), prédiction de la mention du
diplôme
Question : quelles features peut-on considérer pour chacun de ces problèmes?
Un modèle de machine learning peut être vu comme une fonction mathématique qui
prend des données (features) en entrée et produit une prédiction en sortie. Cette
fonction est définie par une structure et des paramètres ajustés pendant la phase
d'entraînement.
Modèle linéaire de classification Modèle non linéaire de régression
X
Matrice des features
Variable cible
• Par convention : n représente le nombre de features et m le nombre d’observations
• x1, x2, …, xn représentent les features et y la variable cible (target)
• x(1) , x(2) , …, x(m) représentent les observations (appelés également exemples, points,
instances)
• x(i) est l’observation numéro i du dataset (ième ligne) (i{1, 2,…, m})
L'apprentissage supervisé comporte deux phases principales.
Phase d'apprentissage : Le modèle est entraîné à partir d'un ensemble de données
étiquetées, où chaque exemple x(i) comprend des features (x(i)1, x(i)2, …, x(i)n) et une
sortie attendue y(i). Le modèle est ajusté pendant l'entraînement pour minimiser
l'erreur entre les prédictions et les résultats réels
Phase d'exploitation (prédiction) : Une fois le modèle entraîné, il est utilisé pour
prédire la sortie (y) pour de nouvelles données non étiquetées
Les algorithmes d’apprentissage non supervisés apprennent à partir de données
non étiquetées. Contrairement à l'apprentissage supervisé, il n'y a pas de réponse
ou de cible explicite à prédire.
Types d’apprentissage non-supervisé :
Regrouper des données similaires ensemble (Clustering, e.g., k-means)
Réduire la dimensionnalité des données pour une meilleure visualisation ou
analyse (e.g. PCA)
Variable dépendante (cible) numérique continue y =(y(1), y(2) ,…, y(m)) : la variable qu’on
essaie de prédire (e.g., prix d’une maison)
Variable d’entrée numérique X =(x(1), x(2) ,…, x(m)) : la variable utilisée pour prédire y (e.g.,
surface d’une maison)
Hypothèse : on suppose qu’il y’a une relation linéaire entre X et y
La régression linéaire simple vise à estimer la meilleure droite (modèle) f(x) = ax+b qui est la
plus proche des points (x(i),y(i))
Objectif : déterminer les valeurs optimales des deux coefficients a (la pente) et b (l’ordonnée
à l’origine) qui permettent de minimiser les erreurs : les différences entre les valeurs
observées y(i) et les valeurs prédites f(x(i))
La fonction de cout (cost) permet de mesurer les erreurs d’un modèle de régression
linéaire
On appelle résidu R(i) la différence entre la prédiction du modèle pour le point (i) et la
valeur attendue y(i). On a : R(i) =𝑓 𝑥 𝑖
-𝑦 𝑖
La fonction de cout est une fonction à deux variables (a, b) :
1 𝑚 2 1 𝑚 1 𝑚
J(a, b) = 𝑖=1 𝑅
(𝑖) = 𝑖=1(𝑦
𝑖 −𝑓 𝑥 𝑖 )2 = 𝑖=1(𝑦
𝑖 − 𝑎𝑥 𝑖 + 𝑏 )2
2𝑚 2𝑚 2𝑚
Objectif de l’apprentissage : déterminer les valeurs de a et b qui minimisent J(a, b)
La descente du gradient est un algorithme d’optimisation qui permet de trouver le
minimum d’une fonction en modifiant itérativement ses paramètres
Intuition : supposons que vous êtes un randonneur perdu en pleine montagne, et vous
voulez rejoindre votre voiture, garée au point le plus bas de la vallée
Une bonne stratégie consiste à regarder autour de
vous et choisir la direction où la pente est la plus
grande, puis vous faites un pas dans cette
direction. Ensuite, vous répétez ce processus : à
chaque nouveau point, vous évaluez encore une
fois la pente et faites un nouveau pas dans la
direction de la descente la plus raide jusqu’à
atteindre le fond de la vallée
Application pour chercher le minimum d’une fonction f(x) à un seul paramètre x :
Mathématiquement la pente de f en xt est
calculée par la dérivée f’(xt ) (gradient)
• si f’(xt ) > 0 donc la courbe monte on doit
passer à gauche
• si f’(xt ) < 0 donc la courbe descend on doit
passer à droite
Etapes de l’algorithme :
[Link] x avec une valeur aléatoire x0
2. Mettre à jour x itérativement selon la formule :
xt+1 = xt - f’(xt) ( représente le taux d’apprentissage: > 0 et <1 )
Remarque : pour calculer les
dérivées partielles de fonctions
composées, on utilise la formule :
• Algorithme de descente du gradient :
Entrées :
- X : Matrice de dimension m x 2, la première colonne est la variable d’entrée et la deuxième colonne est composée de 1
- Y : Vecteur des valeurs observées de la variable cible de dimension m x 1
- :taux d'apprentissage
- max_iter : Nombre d'itérations maximum
Sortie : Vecteur de dimension 2 x 1 comprenant les valeurs optimales des paramètres a et b
Début
1. Initialiser le vecteur de paramètres θ par des valeurs aléatoires (dimension = 2 x 1)
2. Variable m ← nombre de lignes de X
3. Pour chaque itération de 1 à max_iter :
a. Calculer les prédictions : h ← X * θ # Prédictions (vecteur m x 1)
b. Calculer l'erreur : erreur ← h - Y # Différence entre prédictions et valeurs réelles (dimension = m x 1)
c. Calculer le gradient : gradient ← (1/m) * (XT * erreur) # (dimension = 2 x 1)
d. Mettre à jour les paramètres : θ ← θ - * gradient
4. Retourner θ
Fin
Un graphique qui montre comment la performance du modèle évolue en fonction du
nombre d'itérations d’entrainement (itérations de la descente du gradient).
Exemple : évolution de la fonction de cout J(a, b) en fonction du nombre d’itérations
La régression linéaire multiple est une extension de la régression linéaire simple qui
permet de modéliser la relation entre une variable cible y (numérique) et plusieurs
variables indépendantes x1, x2, …, xn (features numériques).
Exemple : y = le prix d’une maison, x1 = surface de la maison et x2 = nombre de chambres
Modèle : f(x1, x2, …, xn) = 𝑎0 + 𝑎1 𝑥1 +𝑎2 𝑥2 +….+𝑎𝑛 𝑥𝑛
Objectif : déterminer les valeurs optimales des coefficients 𝑎0 , 𝑎1 , …, 𝑎𝑛 qui permettent
de minimiser les erreurs : les différences entre les valeurs observées de y et les valeurs
prédites par le modèle f
Mathématiquement, ceci revient à minimiser la fonction de cout :
1 𝑚 1 𝑚
J(𝑎0 , 𝑎1 , …, 𝑎𝑛 ) = 𝑖=1(𝑦
𝑖 −𝑓 𝑥 𝑖 )2 = 𝑖=1(𝑦
𝑖 − 𝑎0 + 𝑎1 𝑥1 𝑖 +….+𝑎𝑛 𝑥𝑛 𝑖 )2
2𝑚 2𝑚
Application de la descente de Gradient
Objectif : mesurer la performance du modèle et valider la généralisation sur des
nouvelles données
L’évaluation du modèle doit se faire sur un dataset de test (étiqueté) distinct : fournir
une estimation objective de la performance du modèle sur des données nouvelles que
le modèle n'a jamais vues auparavant (en phase d’apprentissage)
Apprentissage (80%) Evaluation (20%)
Quelques métriques d’évaluation pour les modèles de régression :
KNN (K-Nearest Neighbors) est un algorithme d’apprentissage supervisé utilisé à la fois
pour la classification et la régression.
Le data-set D contient des données étiquetées (x(i),y(i)) (y(i) est quantitative ou qualitative)
L’algorithme KNN suit les étapes ci-après :
Étape 1 : Choisir le nombre K de voisins
Étape 2 : Calculer la distance du nouveau point p aux autres points de D
Étape 3 : Sélectionner les K voisins les plus proches de p
Étape 4 : Faire une prédiction :
Classification : Parmi ces K voisins, on compte le nombre de points appartenant à chaque
catégorie. On attribue au nouveau point p la catégorie la plus présente parmi ces K voisins.
Régression : Attribuer au nouveau point p la moyenne des valeurs cibles de ces K voisins
La normalisation et la standardisation sont des techniques de prétraitement de
données, utilisées pour transformer les valeurs des données dans une échelle
commune, ce qui peut améliorer la performance de certains modèles
d’apprentissage automatique.
Technique de Normalisation Standardisation
prétraitement
Formule mathématique Xnormalisé=
𝑋−𝑋𝑚𝑖𝑛 𝑋−𝜇
Xstandardisé=
𝑋𝑚𝑎𝑥− 𝑋𝑚𝑖𝑛 𝜎
𝜇 : moyenne de X et 𝜎 son
écart type
Conséquences Transformation sur la même La moyenne de Xstandardisé est
échelle entre 0 et 1 de 0 et l’écart type est 1
Soit le petit data-set suivant :
Moyenne du concours Age Mention de la licence DAIA
12.6 20 Bien
9 21 Abien
14.5 20 Tbien
6.5 23 Passable
𝑋−𝑋𝑚𝑖𝑛
Xnormalisé=
𝑋𝑚𝑎𝑥− 𝑋𝑚𝑖𝑛
Moyenne du concours Age Mention de la licence DAIA
(12.6-6.5)/(14.5-6.5) (20-20)/(23-20) Bien
(9-6.5)/(14.5-6.5) (21-20)/(23-20) Abien
(14.5 – 6.5) / (14.5-6.5) (20-20)/(23-20) Tbien
(6.5 – 6.5)/(14.5-6.5) (23-20)/(23-20) Passable
Pré-traitement : normalisation des caractéristiques
Moyenne du concours Age Mention de la licence DAIA
0.7625 0 Bien
0.3125 0.333333 Abien
1 0.333333 Tbien
0 1 Passable
Dans l’exemple suivant, on a trois classes (w1, w2, w3) et le but est de trouver la classe de
l’exemple inconnu x. On choisit k=5, parmi les 5 plus proches voisins de x, la majorité (4)
appartiennent à w1, on déduit que la classe de x est w1.
Distance Schéma Formule
Minkowski p : paramètre
Manhattan
p=1
Euclidienne
p=2
KNN est facile à comprendre et à mettre en œuvre.
L’algorithme KNN est qualifié d’apprenant paresseux (lazy learner) : aucun modèle
explicite n’est construit lors de la phase d’apprentissage (il se contente de stocker le
data-set d’apprentissage en mémoire)
Pour garantir que KNN fonctionne efficacement, il est essentiel de normaliser ou
standardiser les données d'entrées avant de procéder à la classification.
Complexité en temps : O(m*n)
KNN est efficace et rapide pour les petits data-sets
KNN peut être lent pour les data-sets volumineux, car il nécessite de calculer la distance entre le
point à classer et tous les autres points du data-set d’apprentissage.
Complexité en espace : O(m*n)
KNN peut nécessiter beaucoup de mémoire pour les data-sets volumineux.
Les arbres de décision sont des modèles d’apprentissage supervisés non paramétriques.
Ils se basent sur une structure arborescente où chaque nœud représente une condition ou
une décision, et chaque branche mène à un sous-ensemble de données ou à une prédiction
Structure générale Exemple
L'objectif principal de l'algorithme des arbres de décision est de diviser récursivement les
données en sous-ensembles homogènes en fonction de la variable cible.
Il procède comme suit :
1. Choix de la meilleure division :
À chaque étape, il cherche la caractéristique (feature) qui permet la meilleure séparation des
données en minimisant une certaine métrique d’impureté (Gini ou Entropie)
où : pi est la proportion des exemples appartenant à la classe i dans un nœud donné
2. Division récursive (split) :
Une fois une division optimale trouvée, l'algorithme divise les données en k groupes (branches) et
applique le même processus à chaque groupe, créant ainsi une structure arborescente.
3. Critères d’arrêt :
Un nombre minimal d'échantillons est atteint dans un nœud.
La profondeur maximale spécifiée est atteinte.
Une pureté maximale est atteinte dans un nœud (nœud pur = tous les individus sont de la même classe)
Variable = Outlook
Gini(Outlook=Sunny)= 1-(2/5)²-(3/5)²=0.48
Gini(Outlook=Overcast)= 1 –(4/4)²=0
Gini(Outlook=Rain)= 1 – (3/5)²- (2/5)²=0.48
La somme pondérée de l’impureté de Gini pour la caractéristique
Outlook :
Gini(Outlook) = (5/14) x 0.48 + (4/14) x 0 + (5/14) x 0.48 = 0.342
Variable = Température
Gini(Temp=Hot)= 1-(2/4)²-(2/4)²=0.5
Gini(Temp=Cool)= 1 –(3/4)²- (1/4)²=0.375
Gini(Temp=Mild)= 1 – (4/6)²- (2/6)²=0.445
La somme pondérée de l’impureté de Gini pour la caractéristique
Température :
Gini(Température) =(4/14) x 0.5 + (4/14) x 0.375 + (6/14) x 0.445 =
0.439
Synthèse :
Conclusion : La variable qui minimise l’impureté de Gini est Outlook
Variable Outlook est catégorielle : on génère une
branche pour chacune de ses catégories
Nœud pur : Décision = yes
Régles de décision interprétables :
Exemple : Si outlook = Sunny et Humidity = Normal alors Decision = Yes
Avantages :
L'algorithme est intuitif, facile à comprendre et interprétable
Pas besoin de normalisation ou de mise à l'échelle des données
Limitations :
Les arbres profonds ont tendance à s’ajuster trop aux données
d’entraînement (sur-apprentissage), ce qui peut réduire leur capacité
de généralisation. Solution : limiter la profondeur de l’arbre
Instabilité : Si on change légèrement les données, la structure de
l'arbre peut changer complètement.
Sous-apprentissage Sur-apprentissage
Underfitting Overfitting
Définition Modèle trop simple pour Modèle trop complexe, apprend les
capturer les relations dans les détails spécifiques des données
données. d'entraînement (bruit, anomalies).
Performance Faible sur les données Excellente sur les données
d'entraînement et de test. d'entraînement, mais faible sur les
données de test.
Le sous-apprentissage survient
quand le modèle est incapable
d'apprendre correctement, tandis
que le sur-apprentissage survient
quand le modèle apprend trop
bien, y compris des aspects non
pertinents.
.
Les forêts aléatoires (random forests) visent à construire une combinaison d'arbres de décision
indépendants pour fournir des prédictions plus précises.
Etapes de l’algorithme (pour un problème de classification) :
1. Echantillonage bootstrap :
On génère plusieurs n sous-ensembles aléatoires à partir du data-set d’entrainement initial en
utilisant un échantillonnage avec remplacement (chaque échantillon peut inclure des duplications et
ignorer certaines observations)
2. Construction des arbres de décision :
Chaque sous-échantillon est utilisé pour entrainer un arbre de décision
Pour chaque arbre :
À chaque nœud de l'arbre, un sous-ensemble aléatoire de k caractéristiques est sélectionné. La
meilleure division est déterminée parmi ce sous-ensemble de caractéristiques.
Répéter jusqu'à atteindre un critère d'arrêt (e.g., profondeur maximale).
3. Prédiction :
Chaque arbre prédit une classe pour une nouvelle observation.
La classe finale est déterminée par vote majoritaire des prédictions de tous les arbres
La matrice de confusion présente les résultats de la classification sous forme de
tableau. Elle compare les valeurs prédites par le modèle avec les valeurs réelles
La structure de la matrice de confusion pour une classification binaire (2 classes :
Positive/Négative)
TP Vrais positifs
FP Faux positifs
FN Faux négatifs
TN Vrais négatifs
Métrique Formule Explication
Exactitude 𝑇𝑃 + 𝑇𝑁 Le pourcentage des prédictions correctes sur
(Accuracy) 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 l’ensemble des données
Précision 𝑇𝑃 La proportion des prédictions positives correctes
(Precision) 𝑇𝑃 + 𝐹𝑃 parmi toutes les prédictions positives
Rappel 𝑇𝑃 La proportion des vrais positifs parmi tous les
(Recall) 𝑇𝑃 + 𝐹𝑁 exemples réels de la classe positive
F1-score 𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 ∗𝑅𝑎𝑝𝑝𝑒𝑙
2 * 𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑎𝑝𝑝𝑒𝑙 Moyenne harmonique entre la précision et le
rappel (équilibre entre les deux)
On considère un modèle de prédiction d’une maladie cardiaque (classification binaire)
Calcul de la matrice de confusion sur le data-set de test de 155 exemples :
Classe réelle Métrique Valeur
Exactitude (20+90)/(20+5+40+90)=71%
Positive Négative
Malade Pas malade Précision 20/(20+5)=80%
Rappel 20/(20+40)=33,3%
Négative Positive
Prédiction
20 5 F1-score 2*(0,8*0,333)/(0,8+0,333)=47%
Interprétation :
• Exactitude : 71% des prédictions du modèle sont correctes
40 90 • Précision : Lorsqu'un patient est classé comme malade, il a 80%
de chances que ce soit vrai.
• Rappel : Ce modèle n'a détecté que 33.3% des patients réels
ayant une maladie cardiaque, ce qui est faible.
Remarque : Dans certains contextes (diagnostic de maladies graves : cancer, maladie cardiaque etc), on doit
avoir un rappel élevé : car manquer un cas de maladie (faux négatif) peut avoir des conséquences graves,
comme ne pas traiter un patient à temps.
K-moyennes (K-means) est un algorithme d’apprentissage non-supervisé
Il est entrainé sur un jeu de données non étiqueté
Objectif : regrouper les points du data-set en k groupes (clusters) distincts où chaque groupe
contient des points similaires (selon une mesure de distance)
L’algorithme vise à minimiser la dispersion intra-cluster :
Réduire la distance moyenne entre chaque point d’un cluster et le centroïde (barycentre) de ce cluster.
Formulation mathématique (SSE : sum of squared errors):
L’algorithme Kmeans procède itérativement comme suit :
Choisir un nombre de clusters k à former. Ce nombre est un hyperparamètre que vous devez
spécifier avant de lancer l'algorithme.
Etape 1 : Initialiser les k centroides par k points aléatoires du jeu de données
Etape 2 :
Pour chaque point de données, calculer sa distance par rapport aux k centroïdes.
Assigner chaque point au cluster dont le centroïde est le plus proche
Etape 3 : Mettre à jour chaque centroide en lui affectant la moyenne de son groupe
1 𝑛𝑘
Formellement, le centroïde Ck d'un cluster k est donné par : Ck =𝑛 𝑖=1 𝑥𝑖
𝑘
où nk est le nombre de points dans le cluster k, et les xi sont les points de ce cluster.
Etape 4 : Répéter les étapes 2 et 3 jusqu’à stabilisation des centroides
Etape 1 : Initialisation
On choisit aléatoirement k centroides parmi les données du dataset.
Dans notre exemple, la valeur de k est 3.
Etape 2 : Constitution des clusters
On affecte chaque point au centroide le plus proche pour former k clusters provisoires.
Etape 3 : Mise à jour des centroides
On recalcule les centroides en leur affectant la moyenne de chaque cluster.
Etape 4 : Répétition des étapes 2 et 3 jusqu’à convergence
On réitère les étapes 2 et 3 jusqu’à ce que les centroides ne changent pas (ou que le
nombre maximum d’itérations, fixé à l’avance, soit atteint).
La méthode du coude (Elbow Method) est une technique utilisée pour déterminer le
nombre optimal de clusters k dans l’algorithme K-Means.
Etapes de la méthode du coude :
Etape 1 : Exécutez K-Means pour un éventail de valeurs de k (par exemple, de 1 à 10).
Etape 2 : Calculer la métrique SSE pour chaque valeur k
Etape 3 : Tracer la courbe où l’axe des abscisses représente le nombre de clusters k et
l’axe des ordonnées représente le SSE.
Etape 4 : Détection du "coude" dans la courbe : le point où la diminution du SSE ralentit
considérablement = le nombre optimal de clusters
Bibliothèque Fonctionnalités Principales
NumPy manipulation de tableaux multidimensionnels (ndarray), calcul numérique,
algèbre linéaire.
Pandas Structures DataFrame et Series, gestion des données tabulaires,
manipulation et analyse de données
Matplotlib Visualisation de données en 2D, création de graphiques (courbes,
histogrammes, scatter plots, etc.)
Bibliothèque dédiée au machine learning (Algorithmes d'apprentissage
Scikit-learn supervisé et non supervisé, prétraitement, validation croisée, sélection de
modèles)