Dernière modification le
Salammbô est un logiciel d'apprentissage automatique qui permet de construire un arbre de décision flou à partir d'un ensemble de données d'apprentissage (base d'apprentissage).
La base d'apprentissage peut comporter des attributs symboliques, dont la valeur est une chaîne de caractères (BLEU, Vert, "Montpellier", ...), ou des attributs à valeurs numériques (soit des entiers: 1, 0,..., soit des réels: 1.9, 0.2, 1.0,...).
La base d'apprentissage est un fichier texte (ASCII). Chaque ligne du fichier d'apprentissage correspond à une description d'un exemple d'apprentissage. Chaque description est composée des différentes valeurs pour chaque attribut, chaque valeur étant séparée de la valeur suivante par un point-virgule. La dernière valeur de cette description est la valeur de la classe à reconnaître.
Par exemple, soit la base d'apprentissage suivante (fictive):
|
Type |
Couleur |
Cylindrée (cc) |
Kilométrage (km) |
Choix (classe) |
|---|---|---|---|---|
|
Suzuki |
Rouge |
500 |
1234.56 |
Oui |
|
Yamaha |
Noir |
900 |
8999.7 |
Non |
|
Suzuki |
Bleu |
900 |
567 |
Non |
|
Honda |
Rouge |
600 |
12222.25 |
Oui |
La première ligne correspond aux noms des attributs de la description (type, couleur, cylindrée, kilométrage) et l'attribut classe (choix).
Chacune des 4 autres lignes correspond à un exemple d'apprentissage (un cas).
Pour être donnée en entrée de Salammbô, cette base s'écrira sous la forme du fichier d'apprentissage suivant:
|
suzuki; rouge; 500; 1234.56; oui |
|
yamaha; noir; 900; 8999.7; non |
|
suzuki; bleu; 900; 567; non |
|
honda; rouge; 600; 12222.25; oui |
Rem:
l'ordre des attributs doit être respecté,
la classe est obligatoirement la dernière valeur de la ligne,
les réels sont donnés en notation anglaise: un "." sépare la partie entière de la partie décimale.
Afin de rendre plus lisible l'arbre de décision généré, les noms des attributs peuvent être donnés dans un fichier séparé. Ce fichier est aussi un fichier texte dans lequel les noms d'attributs sont donnés, dans l'ordre, un par un, séparés par un espace.
Par exemple:
|
type couleur cylindrée kilométrage choix |
La commande de base pour exécuter Salammbô sur un fichier d'apprentissage (fichier maBase par exemple) est:
|
Salammbo maBase |
Pour construire un arbre de décision, puis l'utiliser pour classer des exemples d'une base de test (fichier au même format que la base d'apprentissage, par exemple monFichierTest), la commande est:
|
Salammbo maBase monFichierTest |
|
Salammbô (Sh.1.1) (c) Chr. Marsala - 1999 |
|
usage: Salammbo [-aCMnNSux] [-[Ffceiv] val] [fichier_App] [fichiers_test...] |
|
Options générales : (les valeurs entre parenthèses sont les valeurs par défaut) |
|
-h Cette aide |
|
-a Version avec affichage de l'arbre |
|
-C Affichage du détail du classement |
|
-c val Nombre minimum de valeurs pour être continu (5) |
|
-e val Seuil pour l'entropie (0.00) |
|
-i val Pourcentage, nombre minimum pour découper en % (0.00) |
|
-I val Pourcentage, nombre minimum pour découper (2) |
|
-M Version muette |
|
-S Version avec affichage de statistiques sur la base d'apprentissage |
|
fichier_App Fichier d'apprentissage |
|
Options pour traiter les données numériques : |
|
-F val Nombre de filtrages en % (0.05) |
|
-u Construction avec entropie Star |
|
Options pour la classification : |
|
-f val Classification floue demandée avec nombre d'opérateurs(1 à 7) |
|
-n Version sans test non flou |
|
-N Normalisation des degrés donnés en sortie |
|
-x avec fichier de sortie pour la classification |
Pour tout renseignement, envoyez-moi un email: Christophe.Marsala@lip6.fr
(c) Chr. Marsala 2002