Vous êtes sur la page 1sur 5

06/02/2023 13:06 KNN : Découvrez cet algorithme de Machine Learning

Qu’est ce que l’algorithme KNN ?

L’algorithme des K plus proches voisins ou K-nearest neighbors (kNN) est un


algorithme de Machine Learning qui appartient à la classe des algorithmes
d’apprentissage supervisé simple et facile à mettre en œuvre qui peut être
utilisé pour résoudre les problèmes de classification et de régression. Dans
cet article, nous allons revenir sur la définition de cet algorithme, son
fonctionnement ainsi qu’une application directe en programmation.

KNN : Définition

Avant de nous concentrer sur l’algorithme KNN, il est nécessaire de reprendre les bases. 
Qu’est-ce qu’un algorithme d’apprentissage supervisé? 
En apprentissage supervisé (https://datascientest.com/apprentissage-supervise),
un algorithme reçoit un ensemble de données qui est étiqueté avec des valeurs de sorties
correspondantes sur lequel il va pouvoir s’entraîner et définir un modèle de prédiction. Cet
algorithme pourra par la suite être utilisé sur de nouvelles données afin de prédire leurs
valeurs de sorties correspondantes.

https://datascientest.com/knn 1/5
06/02/2023 13:06 KNN : Découvrez cet algorithme de Machine Learning

Voici une illustration simplifiée :

L’intuition derrière l’algorithme des K plus proches voisins est l’une des plus simples de
tous les algorithmes de Machine Learning supervisé :
Étape 1 :  Sélectionnez le nombre K de voisins
Étape 2 :  Calculez la distance

Euclidienne

Manhattan

https://datascientest.com/knn 2/5
06/02/2023 13:06 KNN : Découvrez cet algorithme de Machine Learning

Du point non classifié aux autres points.


Étape 3 :  Prenez les K voisins les plus proches selon la distance calculée.
Étape 4 :  Parmi ces K voisins, comptez le nombre de points  appartenant à chaque
catégorie.
Étape 5 : Attribuez le nouveau point à la catégorie la plus présente parmis ces K
voisins.
Étape 6 : Notre modèle est prêt :

KNN : Exemple d’utilisation

Nous pouvons à présent nous intéresser à un exemple d’utilisation de l’algorithme des K


plus proches voisins. Grâce à la librairie Scikit-Learn (https://datascientest.com/tout-
savoir-sur-scikit-learn), nous pouvons importer la fonction KKNeighborsClassifier que
nous utiliserons sur le jeu de donnée IRIS.

https://datascientest.com/knn 3/5
06/02/2023 13:06 KNN : Découvrez cet algorithme de Machine Learning

Grâce à l’algorithme KNN, nous obtenons un excellent taux de bonne classification des
plantes proches des 100%. On peut également s’intéresser à un moyen de choisir le K
pour lequel la classification sera la meilleure. Une façon de le trouver consiste à tracer
le graphique de la valeur K et le taux d’erreur correspondant pour l’ensemble de données : 

UNE CARRIÈRE DANS LA DATA VOUS TEND LES BRAS !

Une reconversion dans le big data vous intéresse, mais vous ne savez pas par où
commencer ? 
Découvrez nos formations en Data Science.

Je découvre les formations


(/formations-data)

Ainsi, nous pouvons voir que le meilleur taux de prédiction est obtenu pour un K entre 5 et
18. Au-dessus de cette valeur, on peut observer un phénomène nommé « Overfitting » ou
Sur apprentissage en Français qui se produit lorsque les données d’apprentissage
utilisées pour construire un modèle expliquent très voire « trop » bien les données mais
ne parviennent pas à faire des prédictions utiles pour de nouvelles données.

https://datascientest.com/knn 4/5
06/02/2023 13:06 KNN : Découvrez cet algorithme de Machine Learning

Quelques applications :
Il peut être utilisé dans des technologies comme l’OCR (Optical Character
Recognizer), qui tente de détecter l’écriture manuscrite, les images et même les
vidéos.
Il peut être utilisé dans le domaine des notations de crédit. Il essaie de faire
correspondre les caractéristiques d’un individu avec le groupe de personnes
existantes afin de lui attribuer la cote de crédit. Il se verra attribuer la même note
que celle accordée aux personnes correspondant à ses caractéristiques.
Il est utilisé pour prédire si la banque doit accorder un prêt à un particulier. Il
tentera d’évaluer si l’individu donné correspond aux critères des personnes qui
avaient précédemment fait défaut ou ne fera pas défaut à son prêt.
Avantages :
L’algorithme est simple et facile à mettre en œuvre.
Il n’est pas nécessaire de créer un modèle, de régler plusieurs paramètres ou de
formuler des hypothèses supplémentaires.
L’algorithme est polyvalent. Il peut être utilisé pour la classification ou la
régression.
Inconvénients :
L’algorithme devient beaucoup plus lent à mesure que le nombre d’observation et de
variables indépendantes augmente.
Étant l’un des algorithmes les plus simples de Machine Learning
(https://datascientest.com/apprentissage-automatique), il est hautement
implémenté pour développer des systèmes basés sur l’apprentissage, intuitifs et
intelligents qui pourraient effectuer et prendre de petites décisions tout seuls.
Cela rend les choses encore plus pratiques pour l’apprentissage et le développement et
aide presque tous les types d’industries qui pourraient utiliser des systèmes, des
solutions ou des services intelligents. 
Il existe pleins d’autres algorithmes de Clustering supervisé ou non Supervisé qui seront
plus ou moins approprié selon la situation comme celui des K-means
(https://datascientest.com/algorithme-des-k-means), du CAH
(https://datascientest.com/machine-learning-clustering-focus-sur-algorithme-
cah) (La classification ascendante hiérarchique ), DBSCAN
(https://datascientest.com/machine-learning-clustering-dbscan) (density-based
spatial clustering of applications with noise)… que vous pouvez retrouver sur notre blog
(https://datascientest.com/blog-data-ia-actualites).

https://datascientest.com/knn 5/5

Vous aimerez peut-être aussi