Cette fonction crée un fichier contenant un tableau, compatible avec les tableurs usuels, dont chaque ligne correspond à un exemple et dont le nombre de colonnes dépend du fichier de données et de la configuration de la sortie, plus précisément du type d'opérateur de défuzzification et de la valeur du paramètre classification.
Si la sortie est présente dans les données, la performance du SIF pour ce fichier de données est estimée par trois indices complémentaires : l'erreur maximum, l'indice de performance proprement dit et l'indice de couverture qui dépend du paramètre seuil.
Remarque : le degré de vérité d'une règle est lié à l'opérateur de conjonction des prémisses. Avec l'opérateur prod, le degré de vérité diminue plus vite qu'avec l'opérateur min. L'indice de couverture peut décroître très rapidement si le nombre de variables dans la prémisse des règles est grand.
Exemple :
La figure 6 montre le fichier résultat qui correspond à un SIF avec des règles conjonctives, une sortie floue avec 3 SEF (MF1, MF2, MF3) et l'option classification.
Dans ce cas, le fichier créé a 9 colonnes : valeur observée, valeur inférée après défuzzification, alarme (0 si tout va bien), 3 colonnes MF1, MF2, Mf3 avec le degré d'appartenance de l'exemple à chaque SEF, l'erreur pour cet exemple, l'indicateur Bl (0 si l'exemple est actif, 1 sinon), et l'erreur cumulée.
Format général :
La première ligne de ce fichier indique le label des colonnes, les étiquettes possibles sont définies dans le fichier fis.h :
ATTENTION : L'erreur cumulée ne tient pas compte des exemples inactifs.
La première colonne est la sortie observée, si elle est disponible dans le fichier de données, car l'inférence peut aussi être faite en l'absence de sortie observée.
Suivent des colonnes en nombre variable, ce nombre dépendant du type de sortie :
Sortie | Classif | Défuzzification | Nb. champs | Champs présents | |||
nette | oui | sugeno | 4 | V. inférée | Alarme | Classe inférée | Alarme |
nette | non | sugeno | 2 | V. inférée | Alarme | ||
nette | oui | MaxCrisp | 2 | V. inférée | Alarme | ||
nette | non | MaxCrisp | 2 | V. inférée | Alarme | ||
floue | oui | sugeno ou area | n+2 | V. inférée | Alarme | ||
floue | non | sugeno ou area | 2 | V. inférée | Alarme | ||
floue | oui | MeanMax | n+2 | V. inférée | Alarme | ||
floue | non | MeanMax | 2 | V. inférée | Alarme |
La colonne suivante indique, lorsque la valeur observée est disponible, l'écart entre celle-ci et la valeur inférée.
Remarque :
ne sont présents que si l'exemple active au moins une règle. Pour une sortie floue avec opérateurs sugeno ou area, ils sont les degrés d'appartenance de la valeur inférée aux SEF de sortie numéro
. Dans le cas d'une sortie floue avec opérateur MeanMax ou d'une sortie nette avec MaxCrisp ils représentent le niveau d'activation de chacune des sorties possibles, SEF pour la sortie floue ou bien valeurs réelles pour la sortie nette.
La colonne Bl indique si l'exemple est inactif (valeur 1 dans ce cas, sinon 0). Enfin, la dernière colonne contient la valeur courante de l'indice de performance.
Valeurs possibles pour l'alarme :
valeurs entières qui dépendent du type d'opérateur de défuzzification.
Cette fonction renseigne l'indice de couverture défini plus haut, et calculé en fonction du seuil passé en argument.
Format général du fichier pour les règles implicatives
Si la sortie sur laquelle est calculée la performance est implicative, de nouvelles colonnes sont introduites dans le fichier, dans l'ordre suivant.