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 | Section
Fondamentaux de l'apprentissage supervisé

bookK-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 il y a un petit problème. Représentons les bonbons sur un graphique 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 : 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 :

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, comme « comment un 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 pour la mise à l'échelle par défaut.

En réalité, il convient de toujours mettre à l'échelle les données avant d'utiliser k-Nearest Neighbors. Avec les données mises à l'échelle, nous pouvons maintenant trouver 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.

question mark

Choisissez l'énoncé correct.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 16

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

bookK-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 il y a un petit problème. Représentons les bonbons sur un graphique 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 : 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 :

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, comme « comment un 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 pour la mise à l'échelle par défaut.

En réalité, il convient de toujours mettre à l'échelle les données avant d'utiliser k-Nearest Neighbors. Avec les données mises à l'échelle, nous pouvons maintenant trouver 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.

question mark

Choisissez l'énoncé correct.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 16
some-alt