N.S.I. WorkSpace Compétence,Notions,P-Th-G,Première G3 – Algorithme des k plus proches voisins

G3 – Algorithme des k plus proches voisins

Imaginez maintenant qu’au cours d’une promenade vous trouviez un iris.

N’étant pas un spécialiste, il ne vous est pas vraiment possible de déterminer l’espèce.

En revanche, vous êtes capables de mesurer la longueur et la largeur des pétales de cet iris.

Partons du principe qu’un pétale fasse 0,5 cm de large et 2 cm de long.

Plaçons cette nouvelle donnée sur notre graphique [ Téléchargement]:

import pandas as pan
import matplotlib.pyplot as mpl

iris = pan.read_csv("iris.csv")
x = iris.loc[:, "petal_length"]
y = iris.loc[:, "petal_width"]
lab = iris.loc[:, "species"]

mpl.scatter(x[lab == 0], y[lab == 0], color='green', label='setosa')
mpl.scatter(x[lab == 1], y[lab == 1], color='red', label='virginica')
mpl.scatter(x[lab == 2], y[lab == 2], color='blue', label='versicolor')

mpl.scatter(2.0, 0.5, color='pink')

mpl.legend()
mpl.text(4, 0.25, 'NOM Prénom')  # Remplacer 'NOM Prénom' par votre NOM et Prénom !
mpl.show()

Le nouveau point apparaît en rose (color=’pink’)).

L’identification ne pose pas de difficulté majeure : il y a de fortes chances que votre iris soit de l’espèce « iris setosa ».

Il est possible de rencontrer des cas plus difficiles.

Par exemple : largeur du pétale = 0,75 cm ; longueur du pétale = 2,5 cm.

[ Téléchargement]
import pandas as pan
import matplotlib.pyplot as mpl

iris = pan.read_csv("iris.csv")
x = iris.loc[:, "petal_length"]
y = iris.loc[:, "petal_width"]
lab = iris.loc[:, "species"]

mpl.scatter(x[lab == 0], y[lab == 0], color='green', label='setosa')
mpl.scatter(x[lab == 1], y[lab == 1], color='red', label='virginica')
mpl.scatter(x[lab == 2], y[lab == 2], color='blue', label='versicolor')

mpl.scatter(2.0, 0.5, color='pink')
mpl.scatter(2.5, 0.75, color='orange')

mpl.legend()
mpl.text(4, 0.25, 'NOM Prénom')  # Remplacer 'NOM Prénom' par votre NOM et Prénom !
mpl.show()

Le nouveau point apparaît en orange (color=’orange’)).

Dans ce genre de cas, il peut être intéressant d’utiliser l’algorithme des « k plus proches voisins ».

Faites une capture d’écran de votre graphique et coller la sur la fiche-réponse. Indiquez en commentaire le problème à résoudre.