Algorithme K-Nearest Neighbors dans R [Guide ultime avec exemples]
Publié: 2020-03-20L'algorithme KNN dans R est très populaire en raison de sa polyvalence et de ses fonctionnalités. Vous devez donc avoir entendu parler de son nom de temps en temps si vous étudiez l'apprentissage automatique. Et vous avez dû vous demander, "Qu'est-ce que KNN dans R?" ou "Comment ça marche?".
Dans cet article, nous trouverons des réponses à ces questions et vous aiderons à bien comprendre ce sujet. Alors sans plus tarder, plongeons dedans.
Table des matières
Qu'est-ce que l'algorithme KNN ?
KNN signifie K voisin le plus proche. Il s'agit d'un algorithme d'apprentissage automatique supervisé qui classe les points de données en classes cibles en fonction des caractéristiques des points de données adjacents aux points.
Supposons que vous souhaitiez que votre machine identifie les images de pommes et d'oranges et les distingue. Pour ce faire, vous devrez entrer un ensemble de données d'images de pomme et d'orange. Ensuite, vous devrez former votre modèle de données en le laissant détecter chaque fruit à travers ses caractéristiques uniques. Par exemple, il pouvait reconnaître les pommes à travers leur couleur rouge et les oranges à travers leur couleur.
Après avoir formé votre modèle de données, vous pouvez le tester en lui donnant un nouveau jeu de données avec d'autres images de pommes et d'oranges. Désormais, l'algorithme KNN séparera les pommes et les oranges en les classant selon les caractéristiques qu'il avait repérées dans le modèle d'apprentissage.
Il comparerait les caractéristiques d'un point de données avec ses voisins pour voir à quel point ils sont similaires. Et il les classera en fonction de ces résultats.

Dans de nombreux cas, vous tracerez les points sur un graphique. Et pour calculer la distance entre deux points, vous devrez utiliser différentes formules. La méthode la plus courante pour calculer la distance entre deux points de données est la distance euclidienne. Il calcule la distance indépendamment des propriétés ou des attributs présents dans les points.
Fonctionnalités de l'algorithme KNN
Voici les fonctionnalités de l'algorithme KNN dans R :
- C'est un algorithme d'apprentissage supervisé. Cela signifie qu'il utilise des données d'entrée étiquetées pour faire des prédictions sur la sortie des données.
- C'est un algorithme d'apprentissage automatique simple
- Vous pouvez utiliser l'algorithme KNN pour plusieurs types de problèmes
- C'est un modèle non paramétrique. Cela signifie qu'il ne fait aucune hypothèse sur les données, ce qui le rend très utile pour résoudre les problèmes liés aux données réelles.
- Il classe les données en comparant les points de données avec leurs voisins. En termes simples, le fonctionnement de l'algorithme KNN est basé sur la similarité des attributs.
- Il entre dans la catégorie des algorithmes paresseux. Un algorithme paresseux mémorise les données d'apprentissage au lieu d'apprendre la fonction discriminative à partir de celles-ci. En savoir plus sur les types d'algorithmes d'apprentissage automatique.
- Vous pouvez utiliser KNN pour résoudre des problèmes de régression ainsi que des problèmes de classification.
L'algorithme KNN est impartial, et en raison des caractéristiques dont nous avons discuté ci-dessus, c'est un choix préféré pour de nombreux problèmes. Cependant, tout a ses problèmes, et KNN ne fait pas exception.
Cet algorithme n'est pas utile pour résoudre des problèmes trop complexes. Son modèle n'a pas non plus de processus d'abstraction. Pour un modèle adéquat, vous aurez besoin de données de haute qualité car il peut parfois manquer des informations précieuses car il s'agit d'un algorithme paresseux. C'est rapide, mais vous devrez consacrer beaucoup de temps au nettoyage des données.
Comment ça marche?
Pour comprendre comment fonctionne KNN dans R, nous allons jeter un œil à un autre exemple.
Supposons que votre ensemble de données comporte deux classes. La classe 1 a des rectangles, tandis que la classe 2 a des cercles. Vous devez affecter le nouveau point de données que vous avez entré à l'une de ces deux classes en utilisant cet algorithme. Pour ce faire, vous devrez d'abord définir la valeur de 'K' pour votre algorithme. K désigne le nombre de points voisins les plus proches que l'algorithme prendra en compte.
Considérez que vous entrez K comme 4 dans cet exemple. Et pour K = 4, les voisins sont trois cercles et un rectangle. Dans ce cas, vous classerez le point de données dans la classe 2 car le nombre de cercles entourant le point est supérieur à celui des rectangles.
Si les voisins étaient trois rectangles et un cercle, vous l'auriez classé dans la classe 1. Nous avons déjà expliqué comment l'algorithme KNN calcule la distance entre deux points pour déterminer qui est le voisin le plus proche. Il utilise la formule de distance euclidienne à cette fin.

La formule de la distance euclidienne est la suivante :
ré(p,q) = ré(q,p) = ( q 1 – p 1 ) 2 +( q 2 – p 2 ) 2 … ( q n – p n ) 2
Ici, p = (p1, p2, p3, …. pn) et q = (q1, q2, q3, … qn). Dans cette équation, 'd' désigne la distance euclidienne entre les points p et q.
Comme vous pouvez le voir, c'est assez simple. Et sa simplicité le rend très polyvalent, grâce à quoi c'est l'un des algorithmes les plus populaires. Vous pouvez l'utiliser pour une variété de problèmes.
Exemple de KNN dans R
Vous vous demandez peut-être où voyons-nous les applications des algorithmes KNN dans la vraie vie. Pour cela, il faut se tourner vers Amazon.
L'énorme succès d'Amazon dépend de nombreux facteurs, mais l'un d'entre eux est leur utilisation de technologies avancées. L'apprentissage automatique est l'une de ces technologies. Leur système de recommandation les a aidés à générer des centaines de millions de revenus. Et ce système de recommandation utilise l'algorithme KNN à cet effet.
Lisez aussi : Idées de projets d'apprentissage automatique

Supposons que vous achetiez un jean Wrangler noir avec une veste en cuir sur Amazon. Quelques semaines plus tard, une autre personne achète le même jean sur Amazon mais n'achète pas cette veste en cuir. Amazon recommandera à cette personne d'acheter la veste car il a montré un modèle d'achat similaire au vôtre.
Ainsi, le système de recommandation d'Amazon fonctionne en fonction des habitudes d'achat des gens. Et pour comprendre cette similitude, vous pouvez utiliser l'algorithme KNN car il est basé sur ce principe. Vous connaissez maintenant les bases de cet algorithme ainsi que son application dans le monde réel. Il existe de nombreux autres exemples de son utilisation, mais pour l'instant, restons-en à celui-ci.
Apprenez des cours de science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Pensées finales
L'algorithme KNN dans R a de nombreuses utilisations. Et après avoir lu cet article, nous sommes sûrs que vous connaissez cet algorithme. Si vous souhaitez en savoir plus sur ces algorithmes d'apprentissage automatique, vous devriez consulter notre cours détaillé d'apprentissage automatique .
Vous en apprendrez beaucoup sur l'apprentissage automatique et les différents algorithmes qui y sont utilisés, en dehors de ses autres aspects.
A quoi sert le langage de programmation R ?
Le langage de programmation R a été créé pour les calculs impliquant des statistiques et la visualisation de données. Aujourd'hui, R est largement utilisé par les statisticiens, les data scientists, les data analysts et les business analysts. Le cœur de R est livré avec de nombreuses fonctionnalités statistiques intégrées, de sorte que les bibliothèques tierces ne sont pas nécessaires pour une grande partie de l'analyse des données de base que R peut réaliser. Contrairement à de nombreux autres langages de programmation informatique, R n'est pas un langage à usage général. Ainsi, il est essentiellement utilisé pour obtenir des fonctionnalités spécifiques qu'il fait exceptionnellement bien. Cependant, R est largement utilisé par les entreprises de tous les secteurs pour extraire des informations utiles à partir d'énormes volumes de données quotidiennes générées par les utilisateurs.
Quels sont les avantages de programmer avec R ?
Le langage de programmation R offre divers avantages aux programmeurs novices et experts. Ses principaux avantages incluent les fonctionnalités et la facilité qu'il offre pour créer des modèles statistiques et informatiques. Ensuite, R est un langage de programmation open source qui prend en charge l'informatique distribuée parallèle. Tout le monde peut l'utiliser sans avoir à se procurer des licences ou des frais d'utilisation. En outre, il est livré avec une bibliothèque massive pour prendre en charge diverses fonctionnalités, et son cadre indépendant de la plate-forme ajoute également à la commodité. R peut également être utilisé pour des fonctions efficaces de nettoyage des données, de grattage Web et de traitement des données et est couramment utilisé pour développer des modèles d'apprentissage automatique.
Pourquoi le KNN est-il appelé l'algorithme de l'apprenant paresseux ?
L'algorithme K-Nearest Neighbors est l'un des algorithmes les plus simples utilisés dans l'apprentissage automatique. Cependant, on l'appelle souvent l'apprenant paresseux. La raison en est que lorsque vous fournissez toutes les données liées à la formation à cet algorithme, il ne fonctionne pas pour s'entraîner lui-même. Au lieu d'apprendre des fonctions discriminatives, il a mémorisé l'ensemble des données d'apprentissage. À chaque ajout d'un nouveau point de données, cet algorithme recherche ses voisins les plus proches dans l'ensemble de l'apprentissage, ce qui augmente invariablement le temps nécessaire pour faire des prédictions. Cela le rend souvent coûteux en temps de calcul et très chronophage.