À retenir
- L'algorithme ne construit pas de modèle complexe, il se contente de stocker les données et de comparer.
- Le choix du nombre
kest crucial : trop petit, il est sensible au bruit ; trop grand, il devient imprécis. - Il est très efficace pour des petits ensembles de données bien structurés.
C'est une méthode de classement simple qui consiste à deviner la catégorie d'un élément inconnu en observant ses voisins les plus proches. Imaginez que vous arrivez dans une soirée sans connaître le code vestimentaire : si les 5 personnes (le fameux k) les plus proches de vous portent un costume, vous en déduisez que vous devriez probablement en porter un aussi.
Étymologie
Traduction directe de l'anglais k-Nearest Neighbors (souvent abrégé k-NN). La lettre k est une variable mathématique classique désignant un nombre entier naturel choisi par l'utilisateur. Le concept a été formalisé dans les années 1950 pour les besoins de la statistique et de la reconnaissance de formes.
Exemples d'usage
- Recommandation : Un site de streaming vous suggère un film en cherchant les 10 utilisateurs dont les goûts sont les plus proches des vôtres.
- Reconnaissance d'écriture : Identifier un chiffre tracé à la main en le comparant aux images de chiffres connues qui lui ressemblent le plus visuellement.
Cas d'usage
On utilise cet algorithme en apprentissage automatique (Machine Learning) pour des tâches de classification (ranger dans des catégories) ou de régression (prédire une valeur). Il est courant dans le diagnostic médical simple, la détection de fraudes bancaires ou le filtrage de courriers indésirables.
Bonnes pratiques
Il est indispensable de normaliser les données (mettre toutes les mesures sur une même échelle) pour éviter qu'une variable avec de grands chiffres n'écrase les autres. Il est également recommandé de choisir un k impair pour éviter les situations d'égalité lors du vote des voisins.
Synonymes
Antonymes
Conseil
Si vous débutez en Data Science, c'est l'un des premiers algorithmes à tester. Il est très intuitif car il repose sur le bon sens : 'dis-moi qui tu fréquentes, je te dirai qui tu es'. Attention toutefois si vous avez des millions de données, car l'algorithme peut devenir très lent à calculer toutes les distances.
Questions fréquentes
Comment définit-on la proximité ?
On utilise généralement une formule de distance mathématique, comme la distance euclidienne (la ligne droite entre deux points).
Pourquoi dit-on qu'il est 'fainéant' ?
Parce qu'il ne fait aucun calcul d'apprentissage tant qu'on ne lui demande pas de classer un nouvel élément (Lazy Learning).