Caractéristiques

Interface - Principe de la chaîne de traitements

Introduite dans l'analyse de données par SPAD au début des années 90, la chaîne de traitements (filière, diagramme de traitements, etc.) matérialise la succession des opérations effectuées sur les données par un graphe arborescent où (1) les sommets (un opérateur, un composant, un noeud, etc.) représentent des analyses effectuées sur les données ; (2) les liens entre les sommets, le flux des données traitées.

L'interface du logiciel est donc subdivisée en trois grandes parties : la description de la chaîne de traitements à gauche, un " TreeView " dans notre cas ; la panoplie des opérateurs (composants), dans la fenêtre du bas ; et enfin, la description des résultats, sous forme de rapport HTML, à droite.

Le principal attrait de cette représentation est sa clarté, il réside aussi dans la possibilité d'enchaîner facilement des traitements sur des données générées par certaines méthodes : par exemple, effectuer un clustering en utilisant les axes factoriels issus d'une analyse des correspondances. Bien entendu, avec les logiciels gérant un langage de script, ce type d'analyse est très facilement réalisable, encore faut-il que le chargé d'étude ait le temps et l'envie de se plonger dans un nouveau langage informatique. Certains d'ailleurs qualifient la représentation en chaîne de traitements de programmation visuelle, terminologie un peu pompeuse dans la mesure où, mise à part la succession d'opérations, aucune structure algorithmique usuelle (boucles avec contrôle, branchements conditionnels) n'est réellement mise en oeuvre.

Dans TANAGRA, la structure du graphe a été simplifiée, nous avons choisi une forme arborescente. Une seule source de données est donc possible, l'utilisateur doit les préparer convenablement avant de les importer. Ce choix a pour principale conséquence : pour les utilisateurs, une lecture facilitée des traitements réellement effectués ; pour les programmeurs, des classes plus simples avec des contrôles d'intégrité des données réduits. La structure arborescente permet de procéder en parallèle à plusieurs analyses concomitantes sur le même ensemble de données. Cela peut se révéler très utile si l'on veut par exemple comparer les performances de plusieurs algorithmes de prédiction.

Accès aux données

L'accès et l'analyse du fichier de données sont réalisés lors de la définition d'une nouvelle chaîne de traitements. Les données sont chargées en mémoire après avoir été codées en interne. La rapidité est un critère clé lors de cette importation.

TANAGRA sait manipuler les fichiers au format texte, séparateur "tabulation" (TSV, une variante du fichier CSV), qu'ils soient d'origine UNIX ou DOS. Les noms des variables sont récupérés sur la première ligne, leurs types (discrets [variable qualitative] ou continu [quantitative]) sont déterminés à partir de la ligne suivante. C’est le format à privilégier lors du traitement des grandes bases de données (voir Importation et manipulation des fichiers CSV).

TANAGRA peut se plugger également dans Excel et Calc (LibreOffice, OpenOffice) pour accéder aux données chargées dans ces tableurs. Cette fonctionnalité est très pratique. Elle permet, en bénéficiant des capacités des tableurs, de réaliser toutes les opérations de préparation de données (recodage, transformation, etc.) en amont de l’importation dans le logiciel (voir Installation de Tanagra et intégration dans Excel ; Connexion avec LibreOffice Calc).

TANAGRA adopte une stratégie assez fruste pour la gestion des données manquantes. Il supprime d’office les lignes concernées. La tâche est trop sensible pour qu’elle soit confiée mécaniquement au logiciel. Il importe que l’utilisateur mène une réflexion en amont pour choisir la bonne approche, en fonction du problème traité, de la nature des données manipulées, des algorithmes de machine learning utilisés en aval, de la perception que l’on pourra avoir des résultats par la suite.

Opérateurs - Compatibilité des opérateurs

L'opérateur (composant) de fouille de données est un élément clé du dispositif. Il représente un traitement effectué sur un dataset. Le premier opérateur est toujours une connexion à un ensemble de données tabulaire, de type individus-variables. Celui-ci est placé automatiquement à la racine de la chaîne lors de l’importation (directement sur un fichier CSV/TSV ou via la connexion avec un tableur Excel / Calc).

Les opérateurs (les icônes, les composants) sont regroupés dans la fenêtre du bas du logiciel. Nous les intégrons dans le diagramme de traitements par glisser-déposer. Tous prennent des données en entrée, effectuent des traitements et produisent des résultats ; quelques- uns seulement en revanche effectuent des projections. Ils rajoutent, dans ce cas, une ou plusieurs variables à l'ensemble de données qui sera transmis à l'opérateur suivant. Ils sont regroupés en catégories. Si certains découpages sont communément admis (description / structuration / explication-prédiction / association par exemple), d'autres sont plus hasardeux. Il y avait en réalité une seconde contrainte non dite, la nécessité de ne pas trop multiplier les catégories de méthodes...

Chaque composant est paramétrable. La boîte de dialogue est accessible via un menu contextuel. Nous pouvons piloter le comportement des algorithmes de calcul.

De manière générale, les opérateurs se placent les uns à la suite des autres dans une chaîne de traitements. Il y a deux niveaux de contrôle de compatibilité des enchaînements : lors du placement d'un opérateur, lors de l'exécution de la chaîne de traitements correspondant au chemin reliant la racine au sommet concerné. Selon la nature du composant, plusieurs types de résultats sont possibles : (a) des résultats analytiques qui décrivent les données, ou encore une modélisation ; (b) une restriction ou un élargissement des individus actifs dans la chaîne de traitements ; (c) une restriction ou un élargissement des variables actives dans la chaîne de traitements ; (d) la production de nouvelles variables, ajoutées à l'ensemble de données.

Une famille d'opérateurs a un comportement un peu différent des autres : la méta-apprentissage supervisé (Meta-spv Learning). Vu les spécificités de ces méthodes ensemblistes, le mode de fonctionnement est le suivant : on doit d'abord placer sur la chaîne un composant " méta ", qui sert de support en quelque sorte (méthode d'agrégation), ensuite on y intègre l'opérateur " apprentissage " (analyse discriminante, arbre de décision, etc.). Cela permet de démultiplier les combinaisons, il est par exemple possible de procéder à un boosting sur un perceptron multicouche, ce n'est pas trop conseillé mais en tous les cas, on peut le faire.

Rapports HTML

Les opérateurs de TANAGRA produisent, la plupart du temps, des sorties au format HTML. Cette standardisation permet d'exporter facilement les résultats vers un logiciel d'édition, EXCEL par exemple, pour un éventuel post-traitement (ex. Régression logistique pas-à-pas avec Excel).

Les sorties comportent généralement deux parties : la description des paramètres du traitement demandé, et les résultats associés.

Le choix du format HTML a une seconde conséquence, l'exportation des résultats sous forme de rapport consultable via un navigateur web, en dehors de TANAGRA, est possible (ex. Tanagra - Connexion LibreOffice Calc). Il en est de même pour les impressions.

Dans certains cas, les résultats sont affichés dans une fenêtre spécifique dans laquelle l'utilisateur peut agir de manière interactive. Il en est ainsi par exemple pour les opérateurs graphiques. Dans « Scatterplot » par exemple, l'utilisateur peut modifier à la souris les variables en abscisses et ordonnées pour mieux comprendre la configuration des points.

Formats de sauvegarde

Le fichier de sauvegarde inclut la description du diagramme de traitements. La succession des analyses sont conservées avec les paramètres associés. Au chargement du diagramme, il est possible de relancer automatiquement l’ensemble des calculs à l’aide d’un simple clic.

Seule la description du diagramme - le programme en quelque sorte - est sauvegardée, les résultats en revanche ne le sont pas. Deux formats sont disponibles, ils répondent à des exigences différentes.

Description binaire du diagramme de traitements (*.bdm)

Ce format binaire intègre dans la sauvegarde les données qui ont été importées. Le fichier est lisible uniquement par TANAGRA.

Son principal avantage est que les données étant importées une fois pour toutes, le chargement du diagramme en mémoire à la prochaine exécution est très rapide.

A l'opposé, le principal inconvénient est que les traitements sont définitivement définis sur l'ensemble de données qui é été importé. Si les données sont mises à jour, par adjonction de nouveaux individus par exemple, il faudra de nouveau procéder à l'importation, puis à la redéfinition du diagramme.

Ce format de sauvegarde est à privilégier si : (a) les données ne sont pas susceptibles de modifications ultérieures ; (b) si le temps de chargement est un enjeu important.

Description textuelle du diagramme de traitements (*.tdm)

Ce format, dérivé du format INI de Windows, décrit dans un fichier texte le diagramme de traitements. Le fichier est donc lisible avec un simple éditeur de texte.

Un exemple de fichier (*.tdm) sur la base IRIS où l'on procède à une analyse en composantes principales à partir des descripteurs (sep_length...pet_width).

[Diagram]
Title=Default title
Database=D:\DataMining\Databases_for_mining\Iris\iris.txt

[Dataset]
MLClassGenerator=TMLGenDataset
successors=1
succ_1=Define status 1

[Define status 1]
MLClassGenerator=TMLGenFSDefStatus
target_count=0
input_count=4
input_1=sep_length
input_2=sep_width
input_3=pet_length
input_4=pet_width
illus_count=0
successors=1
succ_1=Principal Component Analysis 1

[Principal Component Analysis 1]
MLClassGenerator=TMLGenCompFactPCA
nb_axis=2
successors=0

Il y a plusieurs avantages : (a) les données sont simplement référencées dans le fichier de sauvegarde, si elles sont mises à jour, la prochaine exécution utilisera la nouvelle version des données et produira des résultats automatiquement à jour ; (b) le fichier est au standard INI, il est possible, pour les fondus de bidouille, de le manipuler directement, et ainsi de définir, hors TANAGRA, des nouvelles chaînes de traitements.

On peut voir ce format comme une sorte de script permettant de décrire les traitements. C'est néanmoins très embryonnaire et les contrôles sont inexistants.

Le principal inconvénient de ce format de sauvegarde est la nécessité de ré-importer les données à chaque exécution de la chaîne de traitements. Si l’on traite de très gros volumes, le temps d’importation de la base peut prendre le pas sur tout le reste.