The Color Code of the Project Specification Dialog

The six tabs of the dialog have different colours. If further dialogs are opened concerening the matter of a tab the same colour for this dialog is used. This way a connection to the different steps of creating a classifier is given. The topics of the tabs and the assigned colours are:
Project (emerald green)
Data (blue)
connected dialogs:
progress dialog for file loading
Classifier (yellow)
connected dialogs:
view the fuzzy sets
edit the rule base
Rule Creation (orange)
connected dialogs:
view the learning process in a progress dialog
Training FSets (green)
connected dialogs:
view the training progress, errors are drawn in a graph
Training Control (pink)

The project specification dialog has to be closed before other dialogs or the main menu is enabled again (except the dialogs invoked from one of the tabs). This may sometimes be uncomfortable but it helps to do a consistency check of the parameters. If some settings are not valid the dialog cannot be closed and the user has to look for the problem. This way inconsistent projects are avoided.

 

Project Tab

In the Project tab of the Project Specification dialog all specifications concerning the project can be done. These are:
A project title which is used to build a project file name if there is specified none.
A project description.

See also: The philosophy of NEFCLASS-J

 
 

Data Tab

In the Data tab of the Project Specification dialog all actions concerning the training data file can be done. These are:
Load a Training Data File
An open dialog will be invoked. If the chosen training data file is not formatted in NEFCLASS style a message box opens with this information. The file name cannot be written in the text field in the left of the button, it is only meant for display. The progress of opening the file is shown in a message box where also some informations about the data are displayed.

Another possibility to load a data file is to choose 'Project|Load Training Data'. An open dialog will also be invoked. But this is only possible when the Project Specification Dialog is closed. After the file is opended the filename and if existing a description will be inserted into the Data tab when the dialog is opened the next time.

Edit the Labels
An editor is invoked where you can edit the labels
View the Statistics of the Data.
A frame is invoked where statistics can be viewed.


 

The Training Data File

The data file is the only file you must edit. NEFCLASS-J needs some informations to initialize the classifier. These initial values with the corresponding keywords must be written on the top of the pattern file. A NEFCLASS data file consists of two to five blocks. Comments are allowed between the blocks as well as line feeds or any kind of whitespace. Every line of comment has to begin with %, # or //. The blocks have the following structure:
The first line of a block is the keyword, i.e. this word is the only word in this line. Keyword are written in capital letters.
The following lines contain the corresponding data.
Some blocks need a keyword for the end of data.
There is a mandatory first block and a mandatory last block. The other blocks are optional and because of the use of kewords there is no need to stick to a sequence. The blocks are described now in detail.

Mandatory blocks:
DIMENSIONS
DIMENSIONS has to be the first block in the file. The next line consists of two integer values. The first gives the number of independent variables that means input values, the second gives the number of dependant variables that means the number of classes. If no class information is given this value must be set to ‘0'.
PATTERNS
PATTERNS has to be the last block in the file.The line following the keyword consist of one integer value. This is the number of patterns. In the following lines the patterns are listed one pattern per line. - the values can be separated by any whitespace.
- the values for the input variables may be real or integer
- the classes must be coded as a real vector from [0, 1]^m (m is the number of classes). The class of the pattern is determined by the largest value. Usually each pattern belongs only to one class. Therefore all components except one are set to 0 and the one indicating the class is set to 1. For example, if there are 4 classes then class 2 will be encoded as 0 1 0 0.
- this block can be finished with the keyword END. This is meant for data files used by NEFCLASS-PC. So files containing this keyword need not to be changed.
Optional blocks:
Block for a data file description:
NAME
With using NAME only one line of description can follow in the next line. This command is used in data files used by NEFCLASS-PC. These files need not to be changed.
or
STARTNAME / ENDNAME
The first line of this block is the keyword STARTNAME. The description follows in the next lines. The block has to be finished with the keyword ENDNAME.
VARNAMES
In the lines following this keyword the variable names can be set. It might be easier to use NEFCLASS-J for this. When a data file is loaded default names are given to the input variables and the classes. If you open the 'Project Specification' dialog and select the Data tab you will find a button 'Edit Labels'. Using this an editor is invoked where you can change the names. It has the advantage that you can change only some names. For the others the default names will be saved. If you write the names directly to the file, you have to name all variables and classes.
INRANGES
Here the ranges for each input variable can be specified. The exact ranges are computed during the patterns are loaded but here you can specify larger ranges for the patterns.

 

Classifier Tab

In the Classfier tab of the Project Specification dialog all actions concerning the classifier can be done. These are:
Number and Type of Fuzzy Sets
For each variable a number of fuzzy sets (a fuzzy partitioning) has to be defined. By default three fuzzy sets are defined which automatically get names. The membership functions are equally distributed on the domain of the respective input feature. There are three types that can be selected (triangular, trapezoidal and bell-shaped). As default the triangular membership function is used where the leftmost and rightmost functions are shouldered. You have the following options:
same for all variables
individualy for each variable
If no data file is loaded this option cannot be selected. So if you have problems one day, remember to check the Data tab for a data file. If you select this item a dialog opens where the variables and their fuzzy set types and numbers are listed. Here the number and type of fuzzy set for each variable can be set.
The Aggregation Function
Let us use the network view of the classifer for this explanation. Many rule units (hidden layer) can be connected to one class unit (output layer), i.e. many rules can have the same class in their consequent. The output of a rule unit is a degree of fulfilment. The rule units send their outputs to the class units. The aggregation function of a class unit (netu) calculates a value from the output values of the rule units that will be the output of the class unit.
Weighted Sum
A weighted sum of the rule unit output values is calculated. If you decide to use rule weights this will be a weighted mean.
Maximum
The maximum of the rule unit output values will be used (eventually multiplied by an optional rule weight).
Interpretation of Classification Result
The output values of the class units calculated by the aggregation function need not to give a clear classification decision if the propagated pattern belongs to a class. A crisp output would be a vector where all components are '0' exept of one with '1'. Normally you will get a vector where all components have real values from [0,1]. The question is now how this can be interpreted. Up to now only one interpretation strategy is implemented.
the winner takes all
The highest value is selected to define the class the propagated pattern is assigned to.
In a next version of NEFCLASS-J additional interpretation strategies will be implemented.

With the button on the right the rule editor dialog is invoked. Here the yellow (classifier) color instead of orange (rules) is chosen because this dialog is used to insert pior knowledge or editing the rule base. After this the rulebase had to be learned again. So these rules can be seen as parameters set before the learning process of the classifier is started.

 
Rule Creation Tab

In the Rule Creation tab of the 'Project Specification' dialog all specifications concerning the rulebase can be done.

 
Training FSets Tab

In the Training Fsets tab of the 'Project Specification' dialog all specifications concerning the fuzzy sets can be done.

 
Training Control Tab

In the Training Control tab of the 'Project Specification' dialog all specifications concerning the stop control and validation can be done.