Qu'est-ce que le k-NN
Glissez pour afficher le menu
Commençons notre exploration de la classification par la tâche la plus simple : classification binaire. Supposons que l’on souhaite classer des sucreries en biscuits/non biscuits en se basant sur une seule caractéristique : leur poids.
Une méthode simple pour prédire la classe d’une nouvelle instance consiste à observer son voisin le plus proche. Dans notre exemple, il s’agit de trouver la sucrerie dont le poids est le plus similaire à celui de la nouvelle instance.
C'est le principe du k-plus proches voisins (k-NN) : il suffit d'observer les voisins. L'algorithme k-NN suppose que des éléments similaires existent à proximité les uns des autres. Autrement dit, des éléments similaires sont proches. Le k dans k-NN représente le nombre de voisins pris en compte lors de la prédiction.
Dans l'exemple ci-dessus, nous avons pris en compte seulement 1 voisin, il s'agissait donc du plus proche voisin (1-Nearest Neighbor). Mais en général, k est fixé à une valeur plus grande, car se baser sur un seul voisin peut être peu fiable :
Si k (nombre de voisins) est supérieur à un, la classe la plus fréquente dans le voisinage est choisie comme prédiction. Voici un exemple de prédiction de deux nouvelles instances avec k=3 :
Comme vous pouvez le constater, modifier la valeur de k peut entraîner des prédictions différentes.
Parfois, k-NN produit une égalité lorsque plusieurs classes apparaissent avec la même fréquence parmi les voisins les plus proches. La plupart des bibliothèques, y compris scikit-learn, résolvent les égalités en choisissant la première classe selon leur ordre interne — un point à garder à l'esprit, car cela peut influencer subtilement la reproductibilité et l'interprétation.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion