Accueil
Algorithme KNN des plus proches voisins. Apprentissage supervisé

Algorithme KNN des plus proches voisins. Apprentissage supervisé

Intéressé par les formations de Jedha ?
Voir le syllabus de Jedha
Nos derniers articles !

Tout comme le SVM, l'algorithme des plus proches voisins KNN fait partie des algorithmes de Machine Learning ou apprentissages automatiques les plus simples à utiliser. Ce type d'algorithme a pour principale fonction la recherche de similitude et la reconnaissance de formes en suivant la méthode non pragmatique d'estimation statistique. C'est un modèle d'apprentissage automatique supervisé dont voici le fonctionnement et quelques applications.

Qu'est-ce que le KNN ?

L'algorithme KNN (K-nearest neighbors) est un modèle de Machine Learning supervisé, c'est-à-dire qui se base sur des données d'entrée étiquetées. C'est en apprenant de ce type de données qu'il sera en mesure de proposer une sortie appropriée en partant maintenant de nouvelles données non étiquetées. L'algorithme peut être appliqué avec le langage de programmation Python à partir de fichier csv. KNN des plus proches voisins s'utilise pour la régression et la classification des données.

Dans la pratique, KNN n'aura pas besoin de passer par la construction d'un modèle prédictif pour réaliser des prédictions. L'algorithme classe les nouvelles données en se basant sur le jeu de données précédant pour fournir des résultats. Son principe se décrit par cette affirmation : « Dis-moi qui sont tes voisins, je te dirais qui tu es ».

Fonctionnement

Avec le jeu de données en entier précédemment fourni, l'algorithme va pouvoir effectuer une prédiction en cherchant les K instances du jeu de données les plus poches de l'observation souhaitée. L'algorithme KNN se basera ensuite sur les variables de sortie de ces voisins pour le calcul de la valeur de la variable correspondant à l'observation des éléments que l'on désire prédire. Pour la régression avec KNN, c'est la moyenne ou médiane des variables des pus proches observations qui permettra de faire la prédiction. Tandis que pour la classification, on utilisera le mode des variables des plus proches observations.

Un des exemples les plus populaires pour expliquer son fonctionnement est la classification des fleurs d'iris avec l'algorithme à partir d'un ensemble de données bien connu contenant des enregistrements sur trois espèces de fleurs. On dispose de 50 enregistrements pour chaque type d'espèce : Iris Setosa, Iris Virginica et Iris Versicolor. Chacun de ses enregistrements par espèce est également composé de quatre caractéristiques que sont la longueur et la largeur des pétales, la longueur et la largeur des sépales. KNN des plus proches voisins classe chaque espèce d'iris en fonction de leurs caractéristiques.

Les données étant représentées à travers des points, les points qui sont proches les uns des autres présentent des éléments en commun. C'est le seul principe que l'algorithme KNN considère et il constitue probablement le type d'algorithme le plus simpliste en Machine Learning. L'élément principal à comprendre est la distance entre les points pouvant être une distance euclidienne ou une distance de Manhattan. Avec les valeurs obtenues pour ces distances, on classe les nouveaux points en fonction de leurs voisins plus proches ou majoritairement plus proches quand il y en a plusieurs.

Avantages/inconvénients

L'algorithme KNN des plus proches voisins a l'avantage d'être très facile à mettre en place puisqu'aucune opération lourde n'est nécessaire. On n'aura pas besoin de construire un modèle, de faire de nombreuses hypothèses ou d'ajuster plusieurs paramètres. C'est également un algorithme polyvalent, utilisé dans la classification, la régression ou simplement la recherche d'informations.

En ce qui concerne les inconvénients, KNN des plus proches voisins doit garder en mémoire toutes les observations pour être en mesure de faire une prédiction. C'est pourquoi le choix de la taille du jeu d'entraînement est important, mais également le nombre de voisins et la méthode pour calculer la distance. Essayer plusieurs combinaisons, faire du tuning ou un test est parfois nécessaire pour limiter les erreurs.

Quand utiliser KNN ?

Facile à appréhender pour les débutants en Machine Learning ou Data Science KNN des plus proches voisins est un algorithme qui intervient dans de nombreux secteurs d'activité. On peut le retrouver dans les technologies comme l'OCR (Optical Character Recognizer) qui essaie de détecter les écritures manuscrites, les images ou les vidéos. Dans le secteur bancaire, KNN peut être utilisé pour prédire si la banque devrait accorder un crédit à un particulier ou non. L'algorithme va évaluer les caractéristiques du candidat à un prêt en les faisant correspondre aux coordonnées d'un individu ou groupe d'individus existants. Il obtiendra ainsi une cote de crédit similaire ou proche des personnes ayant présenté les mêmes critères.

En médecine, les maladies comme le diabète basé sur l'état de santé, l'hérédité, les habitudes alimentaires et l'âge pourront être étudiées en fonction de l'algorithme KNN au sein d'une localité. Il est possible de tracer la prévalence de la maladie à partir d'un certain âge en se basant sur des données comme l'âge, l'indice de masse corporelle, le taux d'insuline, la pression artérielle, l'épaisseur de la peau, le glucose, etc. De plus, c'est l'algorithme KNN qui est appliqué majoritairement dans les systèmes de recommandation sur internet comme les boutiques en ligne qui vous conseillent des produits similaires à votre premier achat, YouTube, Netflix, etc.

Comment apprendre KNN ?

Pour apprendre l'algorithme KNN des plus proches voisins, il est possible de s'orienter vers les formations data scientist. En présentiel ou à distance, Jedha propose d'accompagner les futurs professionnels de la data à maîtriser ce type d'algorithme à travers des formations de multiples niveaux. Les formations Data Essentials, Data Fullstack et Lead s'adressent ainsi respectivement à ceux qui débutent dans le domaine de la Data science ou du machine learning, aux personnes souhaitant devenir de véritables professionnels de data avec un certificat de data scientist et enfin aux étudiants qui désirent mieux maîtriser les éléments et se perfectionner dans la gestion de tâches complexes.

L'algorithme KNN des plus proches voisins étant l'un des algorithmes les plus accessibles en matière de Machine Learning, son implémentation est réalisée dans presque tous les types d'industries qui doivent proposer des solutions ou utiliser des systèmes intelligents. Grâce à une formation en machine learning, il est possible d'apprendre à utiliser KNN pour faire valoir ses compétences sur le marché de la data.

Alizé Turpin
Écrit par
Alizé Turpin
 - 
Directrice des admissions
 @
Jedha