K-NN Avec Plusieurs Caractéristiques
Glissez pour afficher le menu
Vous comprenez maintenant comment fonctionne le k-NN avec une seule caractéristique. Passons à un exemple légèrement plus complexe utilisant deux caractéristiques : weight et width.
Dans ce cas, il faut trouver les voisins en fonction de width et weight. Mais cela pose un petit problème. Observons la répartition des bonbons pour comprendre ce qui ne va pas :
Vous pouvez constater que la valeur de weight varie de 12 à 64, tandis que celle de width se situe seulement entre 5 et 12. Comme l'intervalle de width est beaucoup plus petit, les bonbons semblent presque alignés verticalement. Si l'on calcule les distances maintenant, elles refléteront principalement les différences de weight, comme si width n'était jamais pris en compte.
Il existe cependant une solution : la mise à l'échelle des données.
Désormais, le poids et la largeur sont sur la même échelle et centrés autour de zéro. Cela peut être réalisé grâce à la classe StandardScaler de sklearn. StandardScaler soustrait simplement la moyenne de l'échantillon puis divise le résultat par l'écart type de l'échantillon :
StandardScaler centre les données autour de zéro. Bien que le centrage ne soit pas obligatoire pour k-NN et puisse prêter à confusion, par exemple « comment le poids peut-il être négatif », il s'agit simplement d'une manière de présenter les données à un ordinateur. Certains modèles nécessitent un centrage, il est donc conseillé d'utiliser StandardScaler par défaut pour la mise à l'échelle.
En réalité, il faut toujours mettre les données à l'échelle avant d'utiliser k-Nearest Neighbors. Avec les données mises à l'échelle, nous pouvons maintenant rechercher les voisins :
Dans le cas de deux caractéristiques, k-NN définit un voisinage circulaire contenant le nombre souhaité de voisins. Avec trois caractéristiques, cela devient une sphère. Dans des dimensions supérieures, le voisinage prend une forme plus complexe qui ne peut pas être visualisée, mais les calculs sous-jacents restent inchangés.
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