Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre K-NN Avec Plusieurs Caractéristiques | Classificateur k-NN
Classification avec Python

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 :

TwoFeatureNN1

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.

TwoFeatureNNScaled

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 :

Xscaled=XxˉsX_{scaled} = \frac{X - \bar x}{s}

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 :

TwoFeatureNN

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.

question mark

Choisir l'énoncé correct.

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 3
some-alt