k-NN Avec Plusieurs Caractéristiques
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 : poids et largeur.
Dans ce cas, il faut trouver les voisins en fonction à la fois de la largeur et du poids. Mais cela pose un petit problème. Traçons les bonbons pour voir ce qui ne va pas :
Vous pouvez voir que le poids varie de 12 à 64, tandis que la largeur se situe seulement entre 5 et 12. Comme l'intervalle de la largeur 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 poids, comme si la largeur n'était jamais prise en compte.
Il existe cependant une solution : mettre les données à l'échelle.
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 la centralisation ne soit pas obligatoire pour k-NN et puisse prêter à confusion, comme « 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 une centralisation, il est donc conseillé d'utiliser StandardScaler par défaut pour la mise à l'échelle.
En réalité, il faut toujours mettre à l'échelle les données avant d'utiliser k-Nearest Neighbors. Une fois 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, cependant 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
Awesome!
Completion rate improved to 4.17
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 : poids et largeur.
Dans ce cas, il faut trouver les voisins en fonction à la fois de la largeur et du poids. Mais cela pose un petit problème. Traçons les bonbons pour voir ce qui ne va pas :
Vous pouvez voir que le poids varie de 12 à 64, tandis que la largeur se situe seulement entre 5 et 12. Comme l'intervalle de la largeur 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 poids, comme si la largeur n'était jamais prise en compte.
Il existe cependant une solution : mettre les données à l'échelle.
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 la centralisation ne soit pas obligatoire pour k-NN et puisse prêter à confusion, comme « 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 une centralisation, il est donc conseillé d'utiliser StandardScaler par défaut pour la mise à l'échelle.
En réalité, il faut toujours mettre à l'échelle les données avant d'utiliser k-Nearest Neighbors. Une fois 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, cependant les calculs sous-jacents restent inchangés.
Merci pour vos commentaires !