Accueil  / Semaine 14 / Travail noté sur le filtrage collaboratif

Travail noté sur le filtrage collaboratif

Consignes du travail noté 6

Vous devez rédiger un court rapport (en format « pdf », « Word 97/2000/XP », « RTF », « OpenDocument » ou « texte ») que vous transmettrez, par courriel, au chargé d’encadrement. L’objet de votre courriel doit commencer par « [INF6104][TRAVAIL6] », afin de permettre au chargé d’encadrement de classer rapidement ses messages. Dans le corps de votre message ainsi que dans votre rapport, vous devez bien indiquer votre nom, votre numéro d’étudiant ainsi que le numéro du travail.

Le travail est noté sur 10 points [1].

Rappel

Dans ce cours, les activités d’autoévaluation sont obligatoires. On apprend facilement à comprendre un algorithme si on l’applique à un problème donné et qu’on vérifie nos résultats avec un corrigé. Il est beaucoup plus difficile de comprendre un algorithme si on ne le met pas en pratique.

Données

Vos programmes doivent utiliser le format de donné suivant :

Jean 1:7 3:8 4:7
Marie 1:6 2:5 4:2
Pierre 2:2 3:2 4:5
Luc 1:1 2:3 3:4 4:1
Guy 1:2 3:2 4:1

Ces données correspondent à la matrice suivante :

Article 1 Article 2 Article 3 Article 4
Jean 7 - 8 7
Marie 6 5 - 2
Pierre - 2 2 5
Luc 1 3 4 1
Guy 2 - 2 1

Les valeurs manquantes y sont indiquées par un tiret.

Vous pouvez enregistrer ces données sur votre machine : evaluations.txt.

Pour répondre aux questions suivantes, vous devez obligatoirement utiliser la classe Java « Evaluations » [2]. (Vous trouverez aussi une copie de ce fichier en ligne sur pastebin.com.)

Question 1 (5 points)

Écrivez un court programme Java intitulé « Peason » qui calcule l’erreur de validation croisée (All-But-1 MAE) en utilisant l’algorithme utilisateur-utilisateur par corrélation de Pearson, avec amplification des similitudes. Le facteur d’amplification doit être un paramètre passé à votre programme.

Ainsi, la commande

java Pearson donnees.txt 2.5

calculera l’erreur de validation croisée en utilisant un paramètre d’amplification de 2.5.

(Je ne spécifie pas un ensemble d’utilisateurs test. Déterminez et expliquez une stratégie pour répondre tout de même à la question.)

Question 2 (5 points)

Reprenez la question précédente, mais cette fois-ci avec l’algorithme Slope One. La commande suivante devra calculer l’erreur de validation croisée :

java SlopeOne donnees.txt

Les travaux du cours INF 6104 ne sont pas sous une licence Creative Commons.


[1Il compte pour 5% de la note globale.

[2Certains étudiants obtiennent une erreur de compilation. Si vous utilisez l’application Windows Notepad (ou Bloc-Notes) assurez-vous d’enregistrer le fichier avec l’encodage ANSI.