MINI-RAPPORT DE TP (Implémentation de l’algorithme de KNN)
1. INTRODUCTION
L’algorithme de K-Nearest Neighbors est l’un des algorithmes de l’apprentissage supervisé.
Son principe est que : pour prédire la classe ou la valeur d’un nouveau point, on identifie ses
k voisins les plus proches dans les données d’entrainement et on prend une décision basée
sur leurs étiquettes.
2. IMPLEMENTATION
L’implémentation a été réalisée sous la forme d’une classe nommée KNN avec pour
attributs : le k (le nombre de voisins), metrique (la métrique de distance choisie : Euclidienne
ou Manhattan) et tache (classification ou régression).
La méthode fit mémorise les données d’entrainement et la méthode predict calcule la
distance entre le nouveau point et tous les points du mémorisés, sélectionne les k plus
proches voisins puis choisis la classe majoritaire en cas de classification ou fait la moyenne
pour la régression.
3. EVALUATION DU MODELE
Le modèle a été évalué avec le dataset « [Link] » contenant 400 observations qui
décrivent des clients (Age, Salaire estimé) avec comme cible la variable Purchased (0 = n’a
pas acheté ; 1 = a acheté). Les données ont été divisées en 80% pour l’entrainement et 20%
pour le test avec k=5.
Modèle Accuracy Recall (Classe 0) Recall (Classe 1)
Mon_modele 0.75 0.82 0.60
Scikit-learn 0.775 - 0.64
### MATRICES DE CONFUSION
#Mon_KNN
0 1
0 45 10
1 10 15
# Scikit-learn
0 1
0 46 9
1 9 16
Les matrices de confusion montrent des résultats très similaires entre les deux modèles.
Cette légère différence s’explique par les optimisations internes de Scikit-learn.
4. CONCLUSION
Ce travail a permis de comprendre en profondeur le fonctionnement du KNN. La
comparaison avec Scikit-learn a confirmé que l’implémentation est correcte et fonctionnelle
avec des résultats très proche de la bibliothèque de référence.