mardi 22 mai 2012

Le format de fichier "sparse"

Le traitement statistique des documents non-structurés est un vrai challenge. « Non-structuré » est a priori difficile à cerner. Dans le cadre du data mining, on l’utilise généralement (en simplifiant à l'extrême, je vois déjà les puristes bondir) pour toute donnée qui s’écarte du classique attribut-valeur où l’observation est décrite par un vecteur de longueur constante de caractéristiques (ex. un client est décrit par son âge, son revenu, …).

Ainsi, même si intrinsèquement le texte et l’image, pour ne citer qu’eux, ont une structure interne cohérente, un pré-traitement est nécessaire pour parvenir à une description « attribut-valeur ». Cette transformation engendre des tableaux de données volumineux avec certaines spécificités. Il est possible de les exploiter pour proposer un format de description parcimonieux, et aboutir à des fichiers de taille réduite. Il s’agit en quelque sorte d’une forme de compression sans perte. Mais le fichier reste lisible avec un simple éditeur de texte. Comme nous le constaterons pour l’exemple que nous traiterons, la réduction de la taille du fichier n’est absolument pas négligeable.

Dans ce tutoriel, nous décrivons le format de fichier « sparse » (format « creux », extension .data ou .dat) pour la régression et le classement reconnu par Tanagra (depuis la version 1.4.44), il est directement inspiré du format traité par les bibliothèques de calcul « svmlight », « libsvm » et « libcvm ». Nous illustrons son exploitation dans un processus de catégorisation de texte appliquée à la base Reuters, bien connue en data mining.

Mots clés : support vector machine, machines à vecteur de support, séparateur à vaste marge, svm, libsvm, c-svc, régression logistique, tr-irls, apprentissage supervisé, scoring, courbe roc, auc, aire sous la courbe
Composants : VIEW DATASET, CONT TO DISC, UNIVARIATE DUISCRETE STAT, SELECT FIRST EXAMPLES, C-SVC, SCORING, ROC CURVE
Lien : fr_Tanagra_Sparse_File_Format.pdf
Données : reuters.data.zip
Références :
T. Joachims, "SVMlight: Support Vector Machine".
UCI Repository,  "Reuters-21578 Text Categorization Collection".