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.
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!
c'est très clair ! Merci pour le partage !
RépondreSupprimerJe ne savais pas, incroyable !
RépondreSupprimerTop !
RépondreSupprimerIl vaut mieux ne pas expliquer avec des phrases compliquées,utilisez plutôt des schémas
RépondreSupprimerok on prend note, merci d'avoir prit part à notre projet.
SupprimerMerci pour votre commentaire! On va travailler le contenu de nos articles!
SupprimerTrès clair ! Bravo
RépondreSupprimerI've learnt some of the concepts you mentioned above. What a coincidence.
RépondreSupprimerBien sûr que cela m’a plu!
RépondreSupprimerUne approche très intéressante !
RépondreSupprimer