Contenu du cours
Classification Avec Python
Classification Avec Python
Qu'est-ce Que k-NN
Commençons notre aventure de classification par la tâche la plus simple — la classification binaire avec une seule caractéristique.
Supposons que nous voulons classer les sucreries comme biscuits/non-biscuits en fonction uniquement de leur poids.
Une façon simple de prédire la classe d'une nouvelle instance est de regarder son voisin le plus proche. Dans notre exemple, nous devons trouver un bonbon qui pèse le plus semblablement à la nouvelle instance.
C'est l'idée derrière k-Nearest Neighbors(k-NN) - nous regardons simplement les voisins.
L'algorithme k-NN suppose que des choses similaires existent à proximité. En d'autres termes, des choses similaires sont proches les unes des autres.
k dans le k-NN représente le nombre de voisins que nous considérons lors de la réalisation d'une prédiction.
Dans l'exemple ci-dessus, nous avons considéré seulement 1 voisin, donc c'était le 1-Plus Proche Voisin. Mais généralement, k est fixé à un nombre plus grand. Ne regarder qu'un seul voisin peut être peu fiable. Considérez l'exemple :
Si k(nombre de voisins) est supérieur à un, nous choisissons la classe la plus fréquente dans le voisinage comme prédiction.
Voici un exemple de prédiction de deux nouvelles instances avec k=3.
Comme vous pouvez le voir, changer le k peut entraîner des prédictions différentes. Nous parlerons du choix du meilleur k dans les chapitres suivants.
Vous vous êtes peut-être demandé, que se passe-t-il s'il existe un nombre identique de classes dans le voisinage ? Par exemple, si k=2 et que les voisins sont de classes différentes. En pratique, la valeur de k est généralement plus grande, et les égalités se produisent rarement. L'implémentation de Scikit-learn ne gère même pas ce cas séparément. Elle choisit simplement en fonction de l'ordre.
Merci pour vos commentaires !