Deux programmes C++ sont nécessaires, genrules et fpa. Dans l'interface, ils sont combinés dans l'option FPA (menu Apprentissage, sous-menu Induction), ou peuvent être exécutés en séquence, d'abord générer les règles, puis générer les conclusions.
Interface Java :
Le comportement de cette option est différent selon qu'un fichier de données est ouvert ou non.
Lignes de commande
Argument : fichier de configuration du SIF
Options :
-fFISFile où FISFile est le nom du fichier de configuration du SIF créé (par défaut config.fis) |
-r pour supprimer les fichiers de travail |
autres options : liées à l'appel avec un fichier de données (pour avoir leur description, lancer genrules sans argument). |
Le fichier de configuration créé contient maintenant, sous la balise règles, le nom du fichier contenant les règles créées avec une conclusion unique, 1.
Ce programme crée également un fichier de travail info.genere.
Exemple de ligne de commande :
genrules iris-sr.fis
Crée les fichiers config.fis (SIF) et info.gen
ou bien
genrules iriskm.fis -firiskmr.fis
Crée le fichier SIF iriskmr.fis
autre exemple :
genrules irisreg.fis -firisregr.fis
Crée le fichier SIF irisregr.fis
Les arguments du programme sont :
Et en options:
-a pour affichage intermédiaire |
-fFic où Fic est le nom du fichier contenant les règles initialisées (par défaut config.fpa) |
-sx : x est la stratégie pour calculer l'ensemble des exemples qui sera utilisé pour initialiser la conclusion, 0 pour MIN, 1 pour DEC (valeur par défaut). |
-dy : y est le degré de vérité minimum pour la génération des règles (par défaut : 0.3). |
-ez : z est la cardinalité minimum (par défaut : 3). |
-tFicV où FicV est le nom du fichier utilisé pour le calcul de performance (valeur par défaut=fichier de données). |
-u : y est le degré de vérité minimum pour le calcul de performance (par défaut : 0.1). |
-r pour supprimer les fichiers de travail |
La signification de l'ensemble de ces paramètres est commentée dans le guide de l'utilisateur, Menu Apprentissage, option Générer conclusions. Le nombre de règles retenu dépend beaucoup de ces valeurs.
Exemple de ligne de commande :
fpa iriskmr.fis iris
Crée le fichier configfpa.fis qui contient 26 règles alors qu'il y en avait 81 (3*3*3*3) dans iriskmr.fis.
ou bien
fpa iriskmr.fis iris -d0.1 -e1 -firiskmrfpa.fis
qui crée le fichier iriskmrfpa.fis contenant 55 règles.
autre exemple :
fpa irisregr.fis iris -d0.0 -e1 -firisregfpa.fis
qui crée le fichier irisregfpa.fis contenant 36 règles.
Ces fichiers de configuration peuvent être utilisés pour inférer.
Interface Java :
OU
En ligne de commande, programme wm :
Les arguments du programme wm sont :
-tfile nom du fichier de données utilisé pour le calcul de performance (par défaut l'argument 2) |
-oFIS le nom du fichier FIS contenant les règles (par défaut 'nom du système'wm.fis) |
-sThresh seuil d'activité pour le calcul de performance (par défaut 0.2) |
-l paramètre 'Pas de limite au nombre de valeurs distinctes de la sortie' (par défaut faux) |
Exemples de ligne de commande
wm iriskmr.fis iris
Crée le fichier iriswm.fis avec 20 règles
ou bien
wm iriskmr.fis iris -owmiris.fis
qui crée le même fichier appelé wmiris.fis
Interface Java : Menu Apprentissage, sous-menu Induction des règles, option Arbre.
En ligne de commande, programme fistree :
Le programme fistree utilise deux arguments obligatoires et propose plusieurs options.
Les arguments du programme sont :
Les options sont les suivantes :
-oNum où Num est le numéro de la sortie utilisée pour la construction de l'arbre (Par Défaut : 0) |
-sx où x est le seuil d'appartenance minimum pour qu'un exemple soit considéré comme appartenant au nud pour le calcul de l'entropie (par défaut 0.2) |
-xCard où Card est le nombre minimum requis d'exemples attirés par un noeud pour développer celui-ci (default=min(10,nb exemples/10)) |
-ty où y est la tolérance sur le degré d'appartenance à la classe majoritaire (par défaut 0.1) |
-dn où n est la profondeur maximum de l'arbre (par défaut: 0, soit pas de limite) |
-gval où val est le gain relatif minimum en entropie/deviance pour diviser un nud |
-e0 gain absolu d'entropie, -e1 gain relatif (par défaut, gain absolu) |
-p0 pas d'élagage, -p1 élagage suivant un critère de performance (par défaut, pas d'élagage) |
-lw où w est la perte relative de performance tolérée lors de l'élagage (par défaut 0.0) |
-vFicValid où FicValid est le nom du fichier de validation pour le calcul de la performance à l'élagage (par défaut, fichier de données) |
-a option d'affichage détaillé |
-a0 option d'affichage intermédiaire |
-cCouvMin niveau minimal de couverture à respecter pendant l'élagage |
L'induction de l'arbre, comme l'élagage, produit deux fichiers SIF dont les noms sont construits automatiquement. Un premier fichier, d'extension .tree, contient les informations de construction de l'arbre. Il peut être visualisé au moyen de l'interface ou bien à l'aide d'un quelconque éditeur de texte. Le second est le SIF correspondant à l'arbre, il porte l'extension .fis. Il crée aussi les fichiers perf.fistree et result.fistree (voir section 11).
L'arbre est un arbre de régression (critère utilisé=déviance) si la sortie déclarée dans le fichier de configuration du SIF est floue, avec des SEF non discrets. Sinon, c'est un arbre de classification (critère utilisé=entropie), avec des valeurs inférées correspondant à des classes nettes si la sortie déclarée est nette, avec l'option 'classif=yes', ou à des classes floues sinon.
Exemple de ligne de commande :
fistree iriskmr.fis iris -s0.3
Crée iriskmr.fis.sum.tree et iriskmr.fis.tree.fis. Le SIF créé comprend 9 règles.
ou bien
fistree iriskmr.fis iris -s0.1 -p1 -l0.1
Crée, en plus des fichiers précédents, les fichiers décrivant l'arbre élagué iriskmr.fis.prunedsum.tree et iriskmr.fis.prunedtree.fis. Dans ce cas, le nombre de règles est de 34 avant élagage et de 5 après.
Pour générer le fichier de configuration SIF qui correspond à une combinaison de SEF sélectionnée, il faut utiliser deux programmes C++, sethfpfis et textbfhfpfis. Dans l'interface, ils sont combinés dans une seule option.
Interface Java:
En ligne de commande, programmes sethfpfis et hfpfis :
Trois arguments sont nécessaires :
Exemple de ligne de commande :
sethfpfis iriskm.hfp "5 2 3 3" irissel.hfp
Crée le fichier irissel.hfp
Ses arguments sont ceux de hfpselect (à l'exception des arguments spécifiques à hfpselect relatifs à la recherche itérative), soit :
le fichier de configuration fis |
le fichier de données |
-r : choisir wm comme méthode d'induction de règles (par défaut : fpa est utilisée). |
-tx : x est la stratégie pour calculer l'ensemble des exemples qui sera utilisé pour initialiser la conclusion, 0 pour MIN, 1 pour DEC (valeur par défaut). |
-my : y est le degré de vérité minimum (par défaut : 0.3). |
-ez : z est la cardinalité minimum (par défaut : 3) |
-oOutFic où OutFic est le nom du fichier contenant le SIF (par défaut 'Nom du système'.fis) |
-sv : v est le poids cumulé minimum nécessaire pour la génération des règles (0.0 par défaut) |
-lFicV : FicV est le nom du fichier sommets créé par hfpvertex (par défaut : vertices.'Hierarchie') |
-pNumO : NumO est le numéro de la sortie (par défaut : 0) |
Exemple de ligne de commande :
hfpfis iris irissel.hfp -e2 -m0.3 -oirissel.fis -liris.sommets
Crée le fichier irissel.fis comprenant 13 règles générées par la méthode fpa.