Parmi les algorithmes au programme de la spécialité NSI figure l’algorithme des k plus proches voisins. Cette méthode d’apprentissage supervisé a pour objectif d’effectuer une prédiction : on parle d’algorithme de prédiction.

Pour cela, à partir d’une base de données, appelées données d’apprentissage, et pour une observation qui n’en fait pas partie, l’algorithme va rechercher la classe la plus représentée parmi les k données les plus proches et en déduire la classe probable de l’observation.

Exemple : on cherche à prédire le sexe d’une tortue dont on connaît les dimensions.

On dispose pour cela d’un jeu de données : les croix bleues représentent les tortues mâles et les croix vertes représentent les tortues femelles, la position de chaque croix étant déterminée par les dimensions de la tortue qu’elle représente.

On souhaite connaître le sexe d’une nouvelle tortue, identifiée par un point rouge sur le graphique.

Une première observation…

Dans ce premier cas, étant donné la position du point, on peut penser sans trop hésiter qu’il s’agit d’une tortue mâle.

… et une deuxième :

Pour cette deuxième observation, il est plus difficile de prendre une décision.

Par contre, en décidant de prendre en compte uniquement les 5 plus proches voisins (les 2 mâles et 3 femelles contenus dans le cercle), on peut faire l’hypothèse que la tortue observée est une femelle.

D’où l’utilité de cet algorithme des k plus proches voisins, qui une fois implémenté en langage python, permettra aux élèves de la spécialité NSI d’effectuer leurs propres prédictions.