K plus proches voisins pour la classification multi-classes



Après vous être familiarisé avec la théorie, vous allez implémenter l'algorithme des K plus proches voisins dont vous avez écrit le pseudo-code.

Installation des fichiers

Vous pouvez aussi ajouter les deux dernières commandes dans votre fichier de démarrage (.bashrc ou .cshrc) afin de ne pas avoir à les taper dans chaque nouveau shell.

Test des K plus proches voisins sur un ensemble de données

Les classes (ou interfaces) suivantes sont fournies et n'ont pas à être modifiées : Vous devrez compléter les classes suivantes : Après avoir complété les classes ci-desssus, vous devriez être en mesure d'utiliser votre programme par la commande suivante :
java Test train.amat test.amat 2 1 > out ; ./plot_class.py train.amat test.amat out

Test des K plus proches voisins sur une grille

Afin de visualiser la surface de décision ainsi obtenue, vous allez compléter les deux classes suivantes :

Pour écrire dans un fichier, vous pouvez la classe FileWriter dans java.io, qui a notamment une méthode write(String s). Pensez à inclure votre code dans un bloc try { ... } catch (Exception e) { ... }, sinon il ne compilera pas. Le fichier contenant la sortie du Learner doit simplement être une suite de nombres entiers séparés par des retours à la ligne, tandis que le fichier de grille doit ressembler à quelque chose comme:
2 0
-0.884 -0.924
-0.884 -0.824
-0.884 -0.724
-0.884 -0.624
...

Après avoir complété les classes ci-desssus, vous devriez être en mesure d'utiliser votre programme par la commande suivante :
java Grid train.amat 0.01 2 1 grid.amat out ; ./plot_class.py train.amat grid.amat out

Visualisez la surface de décision. Relancez la commande ci-dessus en changeant le nombre de plus proches voisins et observez les variations.