Dans le programme de NSI, on abord l’algorithme des k plus proches voisins. Je vais tenter de vous expliquer avec un schéma ce que cela signifie que de trouver de tels voisins.
Prenons l’exemple de points dans un repère orthonormé dans le carré [0;10]x[0;10] : ils sont soit bleus, soit rouges. On dit que “bleu” et “rouge” sont les classes des points.
Si on met au hasard un point dans ce même carré, on peur se demander de quels points est-il le plus proche, ce qui donnera sa classe éventuelle.
J’ai fait un programme en Python qui:
- choisit au hasard 10 points rouges et 10 points bleus et qui les affichent;
- choisit un point vert au hasard;
- qui détermine la distance entre le point vert et chacun des autres points;
- qui détermine enfin la classe éventuelle du point vert et qui affiche les distances prises en compte.
On obtient par exemple :
Pour télécharger le programme Python, c’est ci-dessous pour les abonné·e·s: