7. Introduction à l'algorithme - K-nearest-neighbor

Les approches de l'apprentissage automatique basées sur la similarité partent de l'idée que la meilleure façon de faire des prédictions est de simplement regarder ce qui a bien fonctionné dans le passé et de prédire à nouveau la même chose.



Nous allons commencer par l'explication des mesures de similarité.

L'une des métriques de caractéristiques les plus connues est la distance euclidienne qui calcule la longueur de la ligne droite entre deux points. La distance euclidienne est définie avec la formule mathématique suivante : 

Nous choisissons la fonction de distance en fonction des types de données que nous traitons. Si nous avons des données quantitatives du même type (par exemple : poids, salaire, taille, montant du panier, etc.), la distance euclidienne semble être un bon choix.


Pour faire une prédiction, l'algorithme KNN va utiliser l'ensemble du jeu de données. En effet, pour une observation qui ne fait pas partie du jeu de données et qui est la valeur réelle que nous voulons prédire, l'algorithme va chercher les K instances du jeu de données les plus proches de notre observation.

Ensuite, pour ses K voisins, l'algorithme utilisera leur sortie afin de calculer la variable y de l'observation que nous voulons prédire.


En d'autres termes :


  • Pour un problème de régression, nous pouvons utiliser la moyenne (ou la médiane) des variables y des K observations les plus proches sera utilisée pour les prédictions.

  • Pour un problème de classification, nous pouvons utiliser le mode (la valeur qui apparaît le plus souvent) des variables y des K observations les plus proches qui sera utilisé pour les prédictions.

Les avantages et les inconvénients


KNN est un algorithme assez simple à comprendre. Ceci est principalement dû au fait qu'il n'a pas besoin d'un modèle pour être capable de faire une prédiction. Le contrepoint à cela est qu'il doit garder en mémoire toutes les observations pour pouvoir faire sa prédiction. Il faut donc faire attention à la taille de l'ensemble de données d'entrée.


Lorsque l'ensemble de données est petit, le classificateur termine son exécution en moins de temps. L’algorithme n'a pas de phase d'apprentissage parce qu' il mémorise l'ensemble des données. C’est pour cela que l'algorithme KNN est un bon choix si nous possédons un ensemble de données pas trop volumineuse et si les données ne contiennent pas de valeurs aberrantes.


De même, le choix de fonction de la distance ainsi que du nombre de voisins K peut ne pas être immédiatement évident. Vous devrez peut-être essayer plusieurs combinaisons et ajuster l'algorithme pour obtenir un résultat satisfaisant pour votre cas d'utilisation.


Si cela vous a plu, n'hésitez pas à laisser un commentaire!

Commentaires

Enregistrer un commentaire

Posts les plus consultés de ce blog

8. L'arbre de décision - les avantages et les inconvénients

10. Le deep learning, Quand l'élève peut dépasser le maître ?

1. Data dans le Marketing - Introduction