Algorithme des k plus proches voisins : fiche de 1re NSI
Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur
L'essentiel
Les k plus proches voisins classent une nouvelle donnée d'après la classe majoritaire de ses k voisins les plus proches dans les données déjà étiquetées.
C'est un algorithme d'apprentissage supervisé : il faut des données dont la classe est connue.
Il n'a pas de vraie phase d'apprentissage : on stocke le jeu de données, puis on calcule les distances à chaque question.
La distance usuelle pour des valeurs numériques est la distance euclidienne ; k est un entier positif, généralement petit.
Le résultat peut changer selon k : à toi de bien le choisir et de bien départager les voisins.
L'idée en une phrase
Tu disposes de données dont tu connais déjà la classe, par exemple des fleurs mesurées et nommées. Une nouvelle fleur arrive, sans nom. L'algorithme des k plus proches voisins (abrégé k-NN, de l'anglais k-nearest neighbors) regarde les k données connues qui lui ressemblent le plus et lui donne leur classe dominante. 3
Principe et vocabulaire
La distance entre deux données
« Proche » n'a de sens qu'avec une distance. Pour des variables continues, la distance la plus courante est la distance euclidienne. 3 Dans le plan, pour A(xA;yA) et B(xB;yB) :
d(A,B)=(xB−xA)2+(yB−yA)2
Avec m caractéristiques chiffrées, un objet devient un point dans un espace à m dimensions, et on cherche les objets aux propriétés les plus proches. 4
Méthode : déroulé de l'algorithme
En pseudo-code, la liste des voisins retenus se met à jour ainsi : si la distance entre D[i] et x est inférieure à celle d'un des points déjà retenus, on retire le point retenu le plus éloigné de x pour le remplacer. À la fin, la liste contient les k plus proches voisins de x. 4
Exemple chiffré : l'effet de k
Pièges et bon réflexe
Questions flash
4 questions · correction immédiate · ton score reste sur ton appareil.
Il faut des données dont la classe est connue : c'est de l'apprentissage supervisé 2. « Non supervisé » est tentant parce qu'il n'y a pas de phase d'apprentissage, mais l'absence de phase d'apprentissage ne veut pas dire absence d'étiquettes.
On calcule (4−1)2+(6−2)2=9+16=25=5. L'erreur tentante est d'additionner les écarts (3+4=7) : on oublie de passer par les carrés et la racine.
Si k=1, l'objet est affecté à la classe de son proche voisin 3. Il n'y a alors aucun vote à faire : un seul voisin est consulté.
Les trois voisins sont C (bleu), B (rouge) et A (rouge) : deux rouges contre un bleu, donc rouge. Répondre « bleu » revient à raisonner avec k=1 au lieu de k=3.
Les questions qu'on se pose
Pourquoi dit-on qu'il n'y a pas de phase d'apprentissage ?
Parce qu'on ne construit aucun modèle à l'avance : il suffit de stocker le jeu de données. 2 Les calculs de distances ont lieu à chaque nouvelle question, ce qui peut devenir long si le jeu est grand, puisque la recherche naïve parcourt tous les points. 4
Comment choisir la valeur de k ?
L'algorithme demande de connaître k à l'avance. Une méthode classique pour le fixer est la validation croisée. 3 En classification, k est un entier positif généralement petit. 3 Sur un exercice, l'énoncé impose le plus souvent la valeur de k.
Peut-on utiliser l'algorithme pour autre chose que classer ?
Oui : en régression, le résultat est une valeur, la moyenne de celles des k voisins. 3 En NSI, tu rencontreras surtout la classification, par exemple pour distinguer des espèces d'iris à partir de leurs mesures. 2