Teaching - AFD


Algortihmes de fouilles de données (AFD)

Rappels de base:

  1. Votre code comportera un programme principal main.m et éventuellement diverses fonctions annexes.
  2. Tout le TD/TME sera effectué dans un repertoire qui sera compressé en fin de séance et envoyé par mail au responsable de la séance
  3. Votre code fait office de compte rendu de tme... Il faut donc beaucoup commenter:
    • à la fois dans le code
  main.m 
  clear all; % debut standard pour eviter les problemes
  close all;
  gnuplot_binary("/usr/local/bin/gnuplot");
  % pour utiliser la bonne version de gnuplot et éviter les erreurs systematiques sur les plot 
  %
  % EXERCICE 1
  ...
  %
  % EXERCICE 2
  ...
  • et lors de l'exécution du code
  result = 3;
  fprintf("Le resultat de la question 2 est %f\n", result);

Séance 2/3: sélection de modèles et de caractéristiques

Sujet: td.pdf

Code utile pour le TME (premiers exercices): fonctions.zip

Code utile pour le TME (sélection de variables): fonctions.zip

Données USPS usps.zip

Quelques morceaux de code utiles:
Pour créer des données:

 % generation des donnees
 data = 'cosexp';
 n = 60; % taille apprentissage
 nt = 200; % taille test
 sigma = 0.5; % niveau de bruit dans les données

 [x,y, xt, yt] = dataset(data, n, nt, sigma);

Pour afficher les données jouets:

 figrue
 plot(x(y==1, 1), x(y==1, 2), "ro"); hold on;
 plot(x(y==-1,1), x(y==-1,2), "b+");

Mini-projet classification de textes

Compétition: Page de soumission des scores

Données à télécharger

Données présidents : AFDpresident.zip

Données movie reviews : AFDmovies.zip

Données de test (movies reviews) : moviesTest.zip

Logiciel

Lien pour weka: http://www.cs.waikato.ac.nz/ml/weka/index_downloading.html

Slides du cours: AFD2012ProjetTexte.pdf

Exemple de code: TextCategorizationTest.java

Pour les manipulations sur le dictionaire:

Exemple de code (v2): TextCategorizationTest2.java

NB: pour l'utilisation de LibSVM dans weka, il est nécessaire d'ajouter 2 librairies externes (LibSVM.jar et libsvm.jar): l'une est un wrapper, l'autre contient réellement le code.

Rapport et expériences

Dans votre rapport, vous livrerez une analyse comparative de différents modèles en terme de performance et d'analyse du dictionnaire. Vous ré-expliquerez l'intérêt des différentes métriques d'évaluation. Enfin, vous donnerez toutes les explications et illustrations que vous trouverez utiles.

Vous êtes également tenus de participer à la "compétition" qui a lieu sur la page suivante lien.

Pour la prochaine séance (jeudi de la rentrée), vous rendrez le rapport et je figerai la compétition à la fin du week-end suivant.