La fonction Performance

Elle s'utilise lorsque l'on veut calculer la sortie inférée par le système, pour un ensemble d'exemples. Elle est appelée avec deux arguments principaux : le premier est le numéro de la sortie à tester, le second est l'ensemble des données d'entrée (et de sortie éventuellement).

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.



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.

Figure 6: Exemple de fichier résultat de l'inférence-sortie floue avec 3 SEF, option classification
Image perfres

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 $ \mu_1,\mu_2\ldots\mu_n$
nette non MaxCrisp 2 V. inférée Alarme
floue oui sugeno ou area n+2 V. inférée Alarme $ \mu_1,\mu_2\ldots\mu_n$
floue non sugeno ou area 2 V. inférée Alarme
floue oui MeanMax n+2 V. inférée Alarme $ \mu_1,\mu_2\ldots\mu_n$
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 : $ \mu_1,\mu_2\ldots\mu_n$ 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 $ 1,2\ldots n$. 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.