The function writes a result file containing an array, with as many lines as there are items in the data set. The number of columns depends on the data file and on the output nature (defuzzification type and classification option).
If the data file has an output column, the FIS performance ith respect to a given data set is estimated by three complementary indices: maximum error, performance index and coverage index (which depends on the blank threshold).
Note: The matching degree highly depends on the rule premise conjunction operaror (min or product). The coverage index can decrease very fast if the number of variables is high, and the blank threshold must be chosen accordingly.
Figure 6 displays the result file that corresponds to a FIS having conjunctive rules, a 3 MF fuzzy output, and the classification option.
In that case, the file has 9 columns for each example: observed value, inferred value after defuzzification, alarm flag (0 if everything is OK, 3 columns MF1, MF2, MF3 with the example output membership degree to each of them, current error, Bl flag (0 for a non blank example, 1 for a blank example), and cumulated error.
The first line of the result file is a column header. The possible labels are defined in the file fis.h:
WARNING: The cumulated error does not take into account the blank examples.
The first column holds the observed output, if it is available in the data file, as inference can also be done without an observed output.
The second one gives, when the observed output value is available, the difference between observed and inferred values.
A variable number of columns follows, depending on the output nature.
|Output||Classif||Defuzzification||Field #||Available fields|
|crisp||yes||sugeno||4||infered v.||Alarm||infered class||Alarm|
Note: are available if the example activates at least one rule. For a fuzzy output defuzzified with sugeno ou area operators, they are equal to the inferred output value membership degrees to MF . For a fuzzy output defuzzified with a MeanMax operator, or for a crisp output obtained through a MaxCrisp operator, they represent the matching degree of all possible outputs: MF values for a fuzzy output, or real values for a crisp output.
The column Bl is 1 if the item is inactive, 0 otherwise. Finally, the last column gives the current value of the performance index.
Available alarm values:
Integer values which depend on the defuzzification operator:
The performance function also computes the coverage index, which depends on the minimum matching degree given as an argument.
General file format for implicative rules
If the output on which the performance is calculated is implicative, new columns are introduced in the perf file, in the following order.