Vous êtes sur la page 1sur 14

K plus proches voisions

K-nearest neighbors
KNN
MME HIBA LAHMER 2020/2021

1
Objectifs
❑ Maitriser l’algorithme des K plus proches voisins

❑ Mettre en pratique cet algorithme afin de résoudre un problème réel

2
Plan
•Introduction
•KNN : Algorithme et fonctionnement
•Exemple
•Force et faiblesse
• Atelier
•Conclusion

3
Introduction
C’est un algorithme de Machine Learning
Il appartient à la classe des algorithmes d’apprentissage supervisé

X1 X2 …. Xn Y
Y = M (X1,X2,…, Xn)
Dataset Label
Labelisé Classe L’objectif de chercher M

Si Y est qualitative , discrète : Classification


Exemple : Prédire la classe d’un client( Bon , Mauvais )
Les variables explicatives
Si Y est quantitative , continu : Régression
Exemple : Prédire le chiffre d’affaire d’une entreprise

4
Introduction
▪simple et facile à mettre en œuvre
▪ peut être utilisé pour résoudre les problèmes de classification et de régression.
▪ Apprendre par analogie Recherchant d’un ou des cas similaires déjà résolus
▪ Classifier ou estimer “Dis moi qui sont tes amis, et je te dirais qui tu es”
▪ Pas de construction de modèle
nous allons revenir sur la définition de cet algorithme, son fonctionnement ainsi qu’une
application directe en programmation

5
Algorithme

6
Fonctionnement
Étape 1: Pour implémenter cet algorithme, nous avons besoin d'un ensemble de données.
Ainsi, lors de la première étape de KNN, nous devons charger les données d’apprentissage et
les données de test.
Étape 2: Ensuite, nous devons choisir la valeur de K, c'est-à-dire les points de données les
plus proches. K peut être n'importe quel entier.
Étape 3: Pour chaque point des données de test, procédez comme suit
3.1 Calculer la distance entre les données de test et chaque ligne de données
d'apprentissage à l'aide de l'une des méthodes à savoir: distance euclidienne, Manhattan ou
Hamming. La méthode la plus couramment utilisée pour calculer la distance est euclidienne.
3.2 Maintenant, en fonction de la valeur de la distance, triez-les par ordre croissant.
3.3 Ensuite, il choisira les K premières lignes du tableau trié.
3.4 Maintenant, il attribue une classe au point de test en fonction de la classe la plus
fréquente de ces lignes.
Étape 4 : Fin
7
Exemple
Données Labelisée
K: Le nombre de Affecter I à une Classe
KNN
voisins
Métrique de distance
Nous avons différentes fleurs , classées par taille de pétale et taille de la tige. Nous avons mis deux couleurs
pour deux espèces de fleurs :

8
9
Problème
Lorsque nous avons une distribution des valeurs asymétriques , l’algorithme
peut facilement mal interpréter les résultats

10
Comment choisir K?
▪ Le choix de la bonne valeur de K s'appelle le réglage des paramètres et est nécessaire pour
obtenir de meilleurs résultats.
▪ En choisissant la valeur de K, nous créons la racine carrée du nombre total de points de
données disponibles dans l'ensemble de données.
K = sqrt (nombre total de points de données)
▪ La valeur de K est toujours sélectionnée impaire pour éviter toute confusion entre 2 classes.
▪ À mesure que K s'approche de 1, votre prédiction devient moins stable.
▪ À mesure que votre valeur de K augmente, votre prédiction devient plus stable en raison de la
majorité des votants.
▪Lorsque vous commencez à recevoir un nombre croissant d'erreurs, vous devez savoir que vous
poussez votre K trop loin.

11
Force et Faiblesse du KNN
(+) C'est un algorithme très simple à comprendre et à interpréter.
(+) Il est très utile pour les données non linéaires car il n'y a aucune hypothèse sur les données dans
cet algorithme.
(+) C'est un algorithme polyvalent car nous pouvons l'utiliser aussi bien pour la classification que pour
la régression.
(+) Il a une précision relativement élevée, mais il existe de bien meilleurs modèles d'apprentissage
supervisé que KNN
(- ) C'est un algorithme un peu coûteux et gourmand en calcul car il stocke toutes les données
d'entraînement.
(- ) La prédiction est lente en cas de grand N.
(- ) Apprentissage paresseux rien n'est préparé avant le classement tous les calculs sont fait lors du
classement
(- ) Calcul du score d'une classe peut changer les résultats; variantes possibles

12
Application du KNN
Comment est-il utilisé dans les problèmes quotidiens? Malgré sa simplicité, KNN fait mieux que
des classificateurs plus puissants et est utilisé dans des domaines tels que la génétique, la
compression de données et les prévisions économiques.
En science politique :
classer un électeur politique pour «voter républicain» ou «voter démocrate», ou «votera» ou
«ne votera pas».
Système bancaire:
- KNN peut être utilisé pour prédire si une personne est apte à l'approbation de prêt. Ou s'il a
des traits similaires à ceux d'un défaillant.
Calcul des cotes de crédit
- KNN peut vous aider lors du calcul de la cote de crédit d’une personne en la comparant à des
personnes ayant des caractéristiques similaires

13
Atelier
1) Chargement des données
2) Exploration des données
3) Préparation des données (encodage , valeurs manquantes)
4) Diviser les données : train data + test data
5) Apprentissage du modèle : train data
6) Tester le modèle : test data
7) Evaluation du modèle ( indicateurs de performance )

14

Vous aimerez peut-être aussi