L'algorithme KNN (k-Nearest Neighbors) est un algorithme d'apprentissage supervisé utilisé
pour résoudre des problèmes de classification et de régression. Il est simple à comprendre et à
implémenter, mais puissant pour des tâches où les relations entre les données sont basées sur leur
proximité.
1. Concept de base de KNN
▪ Objectif : Classer une nouvelle donnée ou prédire une valeur en fonction des données
existantes.
▪ Principe :
o Trouver les K voisins les plus proches d'une nouvelle donnée en calculant la
distance entre cette donnée et toutes les données d'entraînement.
o Pour la classification, la classe majoritaire parmi les K voisins est attribuée à la
nouvelle donnée.
o Pour la régression, la moyenne des valeurs des K voisins est utilisée comme
prédiction.
2. Étapes de fonctionnement de KNN
Étape 1 : Prétraitement des données
• Séparation des données : Diviser les données en caractéristiques (X) et étiquettes (y).
• Normalisation : Si les caractéristiques ont des échelles différentes (ex. : poids en
grammes et diamètre en centimètres), il est important de normaliser les données pour
éviter que les caractéristiques avec des valeurs plus grandes dominent le calcul des
distances.
Étape 2 : Calcul des distances
• La distance entre deux points est calculée pour déterminer leur proximité. La distance la
plus couramment utilisée est la distance euclidienne :
d=
Exemple : Si un fruit a un poids de 170g et un diamètre de 7.5cm, et qu'un autre fruit a un poids
de 150g et un diamètre de 7.0cm, la distance entre eux est :
Étape 3 : Sélection des K voisins les plus proches
▪ Une fois les distances calculées entre la nouvelle donnée et toutes les données
d'entraînement, on sélectionne les K plus petites distances (les K voisins les plus
proches).
Étape 4 : Prédiction
▪ Classification : La classe majoritaire parmi les K voisins est attribuée à la nouvelle
donnée.
▪ Régression : La moyenne des valeurs des K voisins est utilisée comme prédiction.
===========================Problème============================
On a un jeu de données représentant deux types de fruits : Pommes et Oranges, avec deux
caractéristiques : poids et diamètre. L'objectif est de prédire si un fruit avec un poids de 170g et
un diamètre de 7.5cm est une Pomme ou une Orange. On utilise K=3.
Étape 1 : Calcul des distances
On calcule la distance entre la nouvelle donnée (170g, 7.5cm) et chaque point du jeu de données
en utilisant la formule de la distance euclidienne.
Étape 2 : Sélection des 3 voisins les plus proches
On trie les distances par ordre croissant et sélectionne les 3 plus petites distances :
1. 10.004 (Pomme)
2. 20.01 (Pomme)
3. 30.017 (Orange)
Étape 3 : Prédiction
• Parmi les 3 voisins les plus proches, il y a :
o 2 Pommes
o 1 Orange
• La classe majoritaire est Pomme.
Résultat
Le fruit avec un poids de 170g et un diamètre de 7.5cm est classé comme une Pomme.
Avantages et inconvénients de KNN
Avantages
1. Simplicité : Facile à comprendre et à implémenter.
2. Polyvalence : Utilisable pour la classification et la régression.
3. Pas de phase d'entraînement complexe : L'algorithme stocke simplement les données.
Inconvénients
1. Lenteur : Plus le jeu de données est grand, plus l'algorithme devient lent.
2. Sensibilité aux échelles des données : Nécessite une normalisation.
3. Sensibilité au bruit : Les points aberrants peuvent influencer les résultats.