Sei sulla pagina 1di 49

FDA-Tool

Version 1.0
University of Braunschweig
Department of Computer-Science

Oliver Wagner
Thomas Wagner
June 8, 1995
Licence and terms of usage for FDA-Tool
1. This Licence applies to the software FDA-Tool. Each licensee
is addressed as "you".
2. Institut fuer Betriebssysteme und Rechnerverbund, Technische
Universitaet Braunschweig, Bueltenweg 74/75, 38106 Braun-
schweig, Germany, hereby disclaims all copyright interests in
the program FDA-Tool and its documentation.
3. FDA-Tool is not free software, but it may be used free of charge,
for educational, scienti c and personal purposes. You can re-
distribute it under the terms of this license.
You may not use FDA-Tool for commercial purposes. You may
not sell FDA-Tool, and you may not sell or commercially exploit
the results you obtained by using FDA-Tool.
4. You may copy and distribute verbatim copies of FDA-Tool as
you receive it, in any medium, provided that you conspicu-
ously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this Licence and to the absence of any
warranty; and give any other recipients of the Program a copy
of this License along with the Program. You may charge a fee
for the physical act of transferring a copy.

NO WARRANTY
5. BECAUSE FDA-Tool IS LICENSED FREE OF
CHARGE, THERE IS NO WARRANTY FOR FDA-
Tool, TO THE EXTENT PERMITTED BY AP-
PLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLD-
ERS AND/OR OTHER PARTIES PROVIDE FDA-
Tool "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, IN-
CLUDING, BUT NOT LIMITED TO, THE IM-
PLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF FDA-Tool IS WITH YOU.
SHOULD FDA-Tool PROVE DEFECTIVE, YOU AS-
SUME THE COST OF ALL NECESSARY SERVIC-
ING, REPAIR OR CORRECTION.
6. IN NO EVENT UNLESS REQUIRED BY APPLICA-
BLE LAW OR AGREED TO IN WRITING WILL
ANY COPYRIGHT HOLDER, OR ANY OTHER
PARTY WHO MAY REDISTRIBUTE FDA-Tool AS
PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPE-
CIAL, INCIDENTAL OR CONSEQUENTIAL DAM-
AGES ARISING OUT OF THE USE OR INABILITY
TO USE FDA-Tool (INCLUDING BUT NOT LIM-
ITED TO LOSS OF DATA OR DATA BEING REN-
DERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF
FDA-Tool TO OPERATE WITH ANY OTHER PRO-
GRAMS), EVEN IF SUCH HOLDER OR OTHER
PARTY HAS BEEN ADVISED OF THE POSSIBIL-
ITY OF SUCH DAMAGES.
Contents
1 Concept of program 1
1.1 Moveable-icons : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2
1.2 Output-windows : : : : : : : : : : : : : : : : : : : : : : : : : : : 2
1.3 Main-window : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2
2 The Main-window 3
2.1 connections : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3
2.1.1 create connections : : : : : : : : : : : : : : : : : : : : : : 3
2.1.2 delete connections : : : : : : : : : : : : : : : : : : : : : : 3
2.1.3 move connections : : : : : : : : : : : : : : : : : : : : : : : 4
2.2 Input-objects : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.2.1 delete Input-object : : : : : : : : : : : : : : : : : : : : : : 4
2.2.2 save Input-object : : : : : : : : : : : : : : : : : : : : : : : 5
2.2.3 load Input-object : : : : : : : : : : : : : : : : : : : : : : : 5
2.3 Cluster-objects : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6
2.3.1 new Cluster-object : : : : : : : : : : : : : : : : : : : : : : 6
2.3.2 delete Cluster-object : : : : : : : : : : : : : : : : : : : : : 6
2.4 Classify-objects : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6
2.5 Rule-objects : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6
2.5.1 save Rule-object : : : : : : : : : : : : : : : : : : : : : : : 6
2.5.2 load Rule-object : : : : : : : : : : : : : : : : : : : : : : : 7
2.5.3 delete Rule-object : : : : : : : : : : : : : : : : : : : : : : 7
2.6 error-box : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7
3 The Input-objects 8
3.1 Moveable-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
3.2 Output-window : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
3.2.1 main-output : : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.2 the ghost-icon : : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.3 the axes-menu : : : : : : : : : : : : : : : : : : : : : : : : 9
3.2.4 select-icons : : : : : : : : : : : : : : : : : : : : : : : : : : 10
3.3 user-activity: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11

ii
CONTENTS iii

3.3.1 rotate axes : : : : : : : : : : : : : : : : : : : : : : : : : : 11


3.3.2 move axes : : : : : : : : : : : : : : : : : : : : : : : : : : : 11
3.3.3 select a single date : : : : : : : : : : : : : : : : : : : : : : 11
3.3.4 move a single date : : : : : : : : : : : : : : : : : : : : : : 11
3.3.5 create a date : : : : : : : : : : : : : : : : : : : : : : : : : 11
4 The Classify-objects 12
4.1 Moveable-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12
4.2 Output-window : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12
4.2.1 dimension-menus : : : : : : : : : : : : : : : : : : : : : : : 13
4.2.2 ghost-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : 13
4.2.3 classify-on/o -icon : : : : : : : : : : : : : : : : : : : : : : 13
4.2.4 switch on/o rules or dimensions : : : : : : : : : : : : : : 14
4.3 classify data : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14
4.3.1 used as target-object : : : : : : : : : : : : : : : : : : : : : 14
4.3.2 used as source-object : : : : : : : : : : : : : : : : : : : : : 15
5 The Cluster-objects 16
5.1 Moveable-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
5.2 Output-window : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17
5.2.1 action-icons : : : : : : : : : : : : : : : : : : : : : : : : : : 17
5.2.2 select-icons : : : : : : : : : : : : : : : : : : : : : : : : : : 18
5.2.3 axes-menu : : : : : : : : : : : : : : : : : : : : : : : : : : : 20
5.2.4 main-output : : : : : : : : : : : : : : : : : : : : : : : : : 20
5.2.5 scrollbar : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20
5.3 Cluster-object's options : : : : : : : : : : : : : : : : : : : : : : : 20
5.3.1 cluster-methods : : : : : : : : : : : : : : : : : : : : : : : : 21
5.3.2 validity-methodes : : : : : : : : : : : : : : : : : : : : : : : 21
5.3.3 dimension-selection : : : : : : : : : : : : : : : : : : : : : : 21
5.3.4 possibilistic-on/o : : : : : : : : : : : : : : : : : : : : : : 21
5.3.5 delta U selection : : : : : : : : : : : : : : : : : : : : : : : 22
5.3.6 clusternumber : : : : : : : : : : : : : : : : : : : : : : : : : 22
5.3.7 repeats : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22
5.3.8 K : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22
5.3.9 M : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
5.3.10 exactness : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
5.4 display-types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
5.4.1 displaying Clusters (2d/3d) : : : : : : : : : : : : : : : : : 23
5.4.2 displaying Membership type a (2d/3d) : : : : : : : : : : : 23
5.4.3 displaying Membership type b (2d/3d) : : : : : : : : : : : 24
5.4.4 displaying Membership degrees : : : : : : : : : : : : : : : 24
5.4.5 displaying validity : : : : : : : : : : : : : : : : : : : : : : 25
5.5 create rules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25
5.5.1 cluster-selection : : : : : : : : : : : : : : : : : : : : : : : : 25
CONTENTS iv

5.5.2 dimension-selection : : : : : : : : : : : : : : : : : : : : : : 26
5.5.3 rule-type : : : : : : : : : : : : : : : : : : : : : : : : : : : 26
5.5.4 parameter-type : : : : : : : : : : : : : : : : : : : : : : : : 26
5.5.5 threshold : : : : : : : : : : : : : : : : : : : : : : : : : : : 26
5.6 create classi cation : : : : : : : : : : : : : : : : : : : : : : : : : : 27
6 The Rule-objects 28
6.1 Moveable-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
6.2 Output-window : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28
6.2.1 dimension-menus : : : : : : : : : : : : : : : : : : : : : : : 29
6.2.2 ghost-icon : : : : : : : : : : : : : : : : : : : : : : : : : : : 29
6.2.3 switch on/o rules or dimensions : : : : : : : : : : : : : : 29
6.3 calculate results : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30
6.3.1 used as target-object : : : : : : : : : : : : : : : : : : : : : 30
6.3.2 used as source-object : : : : : : : : : : : : : : : : : : : : : 30
7 Examples 31
7.1 recalculating a dataset by created rules : : : : : : : : : : : : : : : 31
7.2 classify a dataset by a Classify-object : : : : : : : : : : : : : : : : 32
A Options 35
B Error-messages 36
C File-formats 39
C.1 Data : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39
C.2 Rules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39
C.3 Classi cation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 40
List of Figures
1.1 the Main-window : : : : : : : : : : : : : : : : : : : : : : : : : : : 1
1.2 an icon and its Output-window : : : : : : : : : : : : : : : : : : : 2
2.1 a connection : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.2 menu for connections : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.3 menu for Input-objects : : : : : : : : : : : : : : : : : : : : : : : : 5
2.4 a leselect-window : : : : : : : : : : : : : : : : : : : : : : : : : : 5
2.5 menu for Cluster-objects : : : : : : : : : : : : : : : : : : : : : : : 6
2.6 menu for Classify-objects : : : : : : : : : : : : : : : : : : : : : : 6
2.7 menu for Rule-objects : : : : : : : : : : : : : : : : : : : : : : : : 7
3.1 the Input-Icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
3.2 the Output-window of an Input-object : : : : : : : : : : : : : : : 9
3.3 select-icons of an Input-objects output : : : : : : : : : : : : : : : 10
4.1 the Classify-Icon : : : : : : : : : : : : : : : : : : : : : : : : : : : 12
4.2 the Output-window of an Classify-object used as output : : : : : 13
4.3 the Output-window of an Classify-object used as input : : : : : : 14
5.1 the Cluster-Icon : : : : : : : : : : : : : : : : : : : : : : : : : : : 16
5.2 the Output-window of an Cluster-object : : : : : : : : : : : : : : 17
5.3 action-icons of an Cluster-objects output : : : : : : : : : : : : : : 18
5.4 3 di erent display-types for clusters : : : : : : : : : : : : : : : : : 19
5.5 select-icons of an Cluster-objects output : : : : : : : : : : : : : : 19
5.6 the Cluster-objects options-window : : : : : : : : : : : : : : : : : 20
5.7 displaying calculated cluster : : : : : : : : : : : : : : : : : : : : : 22
5.8 displaying Membership type a : : : : : : : : : : : : : : : : : : : : 23
5.9 displaying Membership b : : : : : : : : : : : : : : : : : : : : : : 24
5.10 displaying degrees of membership : : : : : : : : : : : : : : : : : : 24
5.11 displaying validity : : : : : : : : : : : : : : : : : : : : : : : : : : 25
5.12 options-window to create Rule-object : : : : : : : : : : : : : : : : 26
6.1 the Rule-Icon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28

v
LIST OF FIGURES vi

6.2 the Output-window of an Rule-object : : : : : : : : : : : : : : : 29


7.1 recalculate a dataset : : : : : : : : : : : : : : : : : : : : : : : : : 32
7.2 classify a dataset : : : : : : : : : : : : : : : : : : : : : : : : : : : 33
C.1 a trapezoid parameter : : : : : : : : : : : : : : : : : : : : : : : : 40
Chapter 1
Concept of program
The user-interface of this program is objectoriented and o ers 4 di erent classes
of objects to be created, destroyed, connected or moved on the main-window:
 Input-objects
 Classify-objects
 Cluster-objects
 Rule-objects
Each object-class has di erent functions and appearance (see chapters 3-6)
and consists of two parts, a Moveable-icon and an Output-window (see g.
1.2). These two parts of an object share its work as follows:

Figure 1.1: the Main-window

1
CHAPTER 1. CONCEPT OF PROGRAM 2

Figure 1.2: an icon and its Output-window

1.1 Moveable-icons
The icon works as interface of the object and so does the communication for
the object by sending information via connections, which can be xed to it.
Double-click it, to make the second part, the Output-window, visible!

1.2 Output-windows
This part works as output and so displays the information stored in the object.
In some case it also gives you the possibility to change this information (like
data or cluster) or select parts of it.

1.3 Main-window
The icons are placed on the Main-window, like shown in g. 1.1. So they can
be moved or connected to each other (see chapter 2.1), to let them interchange
information like datasets or rule-information. By destroying these connections
you can remove this information.
Chapter 2
The Main-window
The Main-window speci es the area, where the Moveable Icons can be placed
or moved. Further it o ers the possibility to manipulate objects or connections
by its menu. Moreover error-messages are displayed in an little error-box.

2.1 connections
Connections are used to let the objects exchange information like rules or data.
A connection starts at a source object and ends at a target object, as shown in
g. 2.1, so the information can ow from the source to the target.
Connections can be created, deleted or moved from one object to another.
2.1.1 create connections
To create a new connection, select new Connection from the Connection & Co.
submenu and the mouse will change to its connection-to-source-look. Now select
the desired source-object of the connection and click it to x the connection to
it. The mouse's connection-to-target-look ask you now to click the target-object
to nish the creating of the connection.
To cancel the creating-process press mouse-button 3 in any stage of this pro-
cess.
2.1.2 delete connections
To delete a connection, select delete Connection from the Connection & Co.
submenu and the mouse will change to its delete-connection-look. Now click
close to the desired connection, to delete it.
The target-object of the connection will lose the information, delivered by the
source-object

3
CHAPTER 2. THE MAIN-WINDOW 4

source-object target-end

6 ?
6
source-end target-object
Figure 2.1: a connection

Figure 2.2: menu for connections

2.1.3 move connections


To change a connections source or target, click as close as possible to the desired
end of a connection. The selected end will leave its object so you can click on
the new object, that should hold this connection.
To leave this action without any change, press mouse-button 3!

2.2 Input-objects
2.2.1 delete Input-object
To delete an Input-object just select delete Inputobject from the Inputobject-
menubar (the mouse will change to a red cross). Now you can select the desired
object to delete it.
If there are other objects (Rule-objects or Cluster-objects) connected to it, they
will loose their data and their connection to it.
CHAPTER 2. THE MAIN-WINDOW 5

Figure 2.3: menu for Input-objects

Figure 2.4: a leselect-window

2.2.2 save Input-object


Since this program o ers some possibilities to modify data, you can save the
dataset of an Input-object. Click on the desired object-icon after selecting save
Inputobject from the Inputobject-menubar (see g. 2.3). The leselect-window
will ask you for a lename.
Because Input-object's data can be recalculated by Rule-object (see chapter. 3),
you can select between original- or calculated data to be saved by selecting the
corresponding icons (see result display-type in section 3.2.4).
2.2.3 load Input-object
To load a dataset just select load Inputobject from the Inputobject-menubar.
Now you can select the desired le from the leselect-window (similar to the
one in g. 2.4).
CHAPTER 2. THE MAIN-WINDOW 6

Figure 2.5: menu for Cluster-objects

Figure 2.6: menu for Classify-objects

2.3 Cluster-objects
2.3.1 new Cluster-object
To create a new Cluster-object just select the Clusterobject-menubar from the
menu (see g. 2.5). To specify the desired cluster-methode, select it from the
submenu new Clusterobject. The appearing option-window will ask you to select
some values (see section 5.3).
2.3.2 delete Cluster-object
If a Cluster-object is no longer needed, you can delete it by clicking on it after you
have selected delete Clusterobject from the Clusterobject-menubar (the mouse-
pointer will change to a red cross). All existing connections from or to this
object will be deleted!

2.4 Classify-objects
The Classify-object is very similar to the Rule-object (see section 2.5).

2.5 Rule-objects
2.5.1 save Rule-object
Since creating rules can take some time, it's usefull to save them. You can
do so by clicking the desired object after selecting save Ruleobject from the
CHAPTER 2. THE MAIN-WINDOW 7

Figure 2.7: menu for Rule-objects

Ruleobject-menubar (see g. 2.7).

2.5.2 load Rule-object


To reload earlier saved rules, select load Ruleobject from the Ruleobject-menubar.
2.5.3 delete Rule-object
This works similar to section 2.2.1.

2.6 error-box
If an error occures, you will hear a beep and a little red error-box on the left
bottom of the Main-window will show a short desription of the error.
For a detailed description of each error see appendix B.
Chapter 3
The Input-objects
This object is the most important one, because it contains the dataset, which
should be modi ed, clustered or used in any other way.

3.1 Moveable-icon
A typical Moveable Icon of an Input-object looks like the one, shown in g.
3.1, with the name of the dataset's le displayed in the middle. To supply
other object, like Cluster-object or Rule-object with the information, stored in
this object, create a connection from this to the targe-object (like described in
chapter 2.1).

3.2 Output-window
The Output-window consists of the main-output and 3 elements inside of it:
 an action-icon - the ghost-icon

 lename

Figure 3.1: the Input-Icon

8
CHAPTER 3. THE INPUT-OBJECTS 9

axes-menu

ghost-icon - ?  select-icons

 main-output

Figure 3.2: the Output-window of an Input-object

 an axes-menu
 a lot of select-icons
as shown in g. 3.2. These elements have a lot of di erent functions.
3.2.1 main-output
The main-output is used as an user-interface. It work as output for the
object's dataset and as input for user-activities, like rotating of axes, manipu-
lating the dataset or selecting a single date (for further information, see section
3.3).
3.2.2 the ghost-icon
By hitting this icon, you will hide all 3 elements in the main-output. It's usefull,
if you want to grab the drawing of the main-output (using xv or xgrab). By a
double-click in the main-output, it can be undone.

3.2.3 the axes-menu


This menu o ers the possibility to select the dimensions of the dataset, which
should be displayed.
CHAPTER 3. THE INPUT-OBJECTS 10

kind of view select - 2d view -  3d view


- dot display -  cross display
point style select class display -  move axes
rotate axes -  move date
- select date -  create date
action select delete date -  original only
result display type - result only -  display both

Figure 3.3: select-icons of an Input-objects output

3.2.4 select-icons
These icons are used to select between di erent activities or output-styles. They
are divided into 4 groups, as shown in g. 3.3:
 kind of view-icons
By these icons, you can switch between 2d- and 3d-display. (3d-display is
only available, if the dimension of the dataset is  3 !)
 point style-icons
These icons decide, whether data should be displayed as dots, crosses
or classes (only available, if dataset is classi ed). If the dataset is very
large and your computer is very slow, the cross-display may slow down
the display speed (especially when rotating the axes);
 action select-icons
By selecting one of these icons, you can change between
{ rotate axes (only in 3d-mode)
{ move axes (only in 3d-mode)
{ select a single date
{ move a single date (only in 2d-mode)
{ create a date (only in 2d-mode)
{ delete a date
 result display type select-icons
These icons are only used (and selectable), if there is a connection from
a Rule-object, and decides, whether only the original data, the calculated
data or both should be displayed.
To save the calculated result, select result only before saving dataset.
CHAPTER 3. THE INPUT-OBJECTS 11

button1 button2 button3


move direction x y x y x y
rotate around x y y z x z
Table 3.1: rotate around axes

3.3 user-activity
3.3.1 rotate axes
To rotate the axes, rst press one of the 3 mouse-buttons. If you have done this,
the mouse-pointer changes to its rotate-look. By moving the mouse in X- or
Y-direction, the axes will rotate in dependence of the pressed mouse-button, as
desribed in table 3.1.
3.3.2 move axes
If you want to move the axes to X- or Y-direction, press mouse-button 1, and
the mouse-pointer changes to its move-axes-look. Now you can move the axes
by moving the mouse.
To move the axes apart or near, press button 2 and move the mouse to the
right or left!
To reset the axes back to the default-position, bress button 3.
3.3.3 select a single date
To select a single date, that for example should be calculated by a Rule-object,
simply click near to it. The selected date will be displayed as a red cross.
3.3.4 move a single date
To test the di erent results calculated by rules, it's useful to move data contin-
uously and watch the changing results. To do this, you rst have to change to
2d-mode, if it's not already selected. Then select the date, you want to move,
by clicking (button 1) near to it and keep the button pressed. Now you can
move the date to the desired position (the acute coordinates will be displayed
at the lower left corner).
3.3.5 create a date
To add data to the dataset, select this kind of action and press mouse-button 1
at the desired position (acute coordinates are displayed at the lower left corner).
Chapter 4
The Classify-objects
A Classify-object is used to classify a whole dataset or calculates just the class
of a single date. This can be done by creating a connection from or to an
Input-object.

4.1 Moveable-icon
A typical Moveable Icon of a Classify-object is shown in g. 4.1. The upper
text is the name of the classify- le (if you used saved rules) or the name of
the Cluster-object which created these rules. The lower text is the index of the
Classify-object. It's used to relate the Output-window to its Moveable Icon.

4.2 Output-window
The Output-window displays the rules to calculate the classi cation, (as
shown in g. 4.2). They are saved in the form of trapezoidal or convex fuzzy

 lename
 icon-index

Figure 4.1: the Classify-Icon

12
CHAPTER 4. THE CLASSIFY-OBJECTS 13

classify-rules
dim-menu
ghost-icon - ?
classify-on/o -
?

6
result class
Figure 4.2: the Output-window of an Classify-object used as output

sets.
It addition, it has some other elements:
 a ghost-icon
 a classify-on/o -icon
 dimension-menus (when needed)

4.2.1 dimension-menus
If the Classify-object is connected with an Input-object, dimension-menus are
displayed. By these you can select the desired dimension for the inputs of the
rules.
4.2.2 ghost-icon
(see Input-object (section 3.2.2))
4.2.3 classify-on/o -icon
If this icon is pressed, the dataset (see section 4.3.2) will be classi ed.
CHAPTER 4. THE CLASSIFY-OBJECTS 14

classify-rules
dim-menu
ghost-icon - ?
classify-on/o -
?

number of calculated elements


Figure 4.3: the Output-window of an Classify-object used as input

4.2.4 switch on/o rules or dimensions


Sometimes it's interesting to examine the in uence of single rules or dimensions
to the result of the rules. To do this you can switch single dimensions or rules
on or o by clicking the desired row or column with the mouse. Button 2 is used
for dimensions, button 3 for rules. If parts are switched on, they are displayed
black, otherwise grey.

4.3 classify data


If you want to make the Classify-object classify data, you can do so by creating
a connection from or to an Input-object, to use it as output or input for the
Input-object.

4.3.1 used as target-object


If the Classify-object is connected to the target-end of a connection, it works
as classi er for a single date (the selected date of the Input-object, see section
3.3.3). The matching-degrees to any class are displayed as shown in g. 4.2.
The result class - the class with the greatest membership degree - is displayed
in the lower right corner (the symbol is the same used, when displaying the
CHAPTER 4. THE CLASSIFY-OBJECTS 15

classi ed dataset).
By selecting another or moving the selecting date in the Input-object, you can
examine the behaviour of the rules.
4.3.2 used as source-object
If the Classify-object is connected to the source-end of a connection to an Input-
object and the classify-on/o -icon is pressed, it classi es the whole dataset of
the Input-object (it will stay classsi ed if you remove the connection). If the
dataset is already classi ed , the number of correct an incorrect classi ed data
will be shown (see g. 4.3).
If you save the Input-object after classi ng it, it will be saved classi ed.
Chapter 5
The Cluster-objects
The job of this object is the clustering of data. These data may come from an
Input-object or from another Cluster-object, so it can use the information from
an earlier clustering as an ititialisation.

5.1 Moveable-icon
The Moveable Icon of an Cluster-object is shown in g. 5.1. It shows the
lename of the dataset, which will be clustered. Further an index is shown,
which describes the order of this object in the tree-like structure, which may be
build of a lot of these objects.
The last information shown is the type of the selected clustering-method. This
and other options can be selected by pressing mouse-button 3 this icon or when
the object is new created. An option-window (see chapter 5.3) will let you
change options.

 lename
 icon-index
 clustering-type

Figure 5.1: the Cluster-Icon

16
CHAPTER 5. THE CLUSTER-OBJECTS 17

axes-menu
?
action-icons -
 select-icons

 main-output

 scrollbar

Figure 5.2: the Output-window of an Cluster-object

5.2 Output-window
Like the Input-objects Output-window, the Cluster-object's Output-window con-
sists of the main-output and a few other elements inside of it. These elements
are
 some action-icon
 an axes-menu
 a lot of select-icons
 and, if needed, a scrollbar
The elements have the following functions:
5.2.1 action-icons
By clicking on one of the 4 di erent action-icons, you can start some di erent
actions:
 ghost-icon
(see Input-object (section 3.2.2))
 go-icon
This icon starts a selected number of cluster-steps on the acute data.
CHAPTER 5. THE CLUSTER-OBJECTS 18

ghost -
go -
reset -
create rules -
create classi cation -
Figure 5.3: action-icons of an Cluster-objects output

 reset
This icon deletes all calculated clusters! If you have selected the 2d-
Validity-view, these values will also be destroyed.
 create-rules-icon
By clicking this icon, you can create a new Rule-object. An option-window
(see section 5.5) will appear, to let you make some selections.
 create-classifycation-icon
By clicking this icon, you can create a new Classify-object. An option-
window (see section 5.6) will appear, to let you make some selections.

5.2.2 select-icons
The select-icons are divided in 4 groups:
 display type select-icons
There are 8 display-types:
{ 2d view
{ 3d view
{ 2d membership type a
{ 3d membership type a
{ 2d membership type b
{ 3d membership type b
{ validity
{ membership degree
CHAPTER 5. THE CLUSTER-OBJECTS 19

Figure 5.4: 3 di erent display-types for clusters

2d view -  3d view
display type select - 2d membership a -  3d membership a
2d membership b -  3d membership b
2d validity -  membership degree
point-style select - point display -  cross display
cluster-style select - symbol cluster -  ellipsoid cluster
rotate axes -  star cluster
- move prototyp -  move axes
action select select cluster -  create prototyp
 delete prototyp

Figure 5.5: select-icons of an Cluster-objects output

They show di erent information like clusters, validities or memberships,


desribed in detail in section 5.2.4.
Selecting the display-type membership degree won't unselect an other dis-
play-type, it opens another window to display the desired information.
 cluster-style select-icons
You can select between 3 di erent type of displaying the calculated clus-
ters:
{ ellipsoid
This type serves to display discovered ellipsoids or ellipsis.
{ symbol
The data, which belong to the same cluster are drawn as the same
symbol.
(There are only 12 di erent symbols. If there a more than this num-
CHAPTER 5. THE CLUSTER-OBJECTS 20

cluster-methodes -  clusternumber
-  repeats
validity-methods
-   M
dimension-selection K
possibilistic-on/o --  exactness
delta U selection

Figure 5.6: the Cluster-objects options-window

ber of clusters, di erent clusters may be displayed by the same sym-


bol!)
{ star
All data of a cluster are connected to its prototyp.
This kind of displaying cluster is very usefull, if you want to see the
data changing from one cluster to another.
 point-style select-icons
(see section 3.2.4)
 action select-icons

5.2.3 axes-menu
(see section 3.2.3)
5.2.4 main-output
In this part the results are displayed (see section 5.4).
5.2.5 scrollbar
This element is used to zap through di erent units like clusters or data.
It's only visible if necessary!

5.3 Cluster-object's options


The options-window o ers you a collection of selections and parameter-chang-
ing. The meaning of these parameters and selections will be destribed now.
CHAPTER 5. THE CLUSTER-OBJECTS 21

5.3.1 cluster-methods
In this version you can select between 5 di erent fuzzy methods:
 FCM Clustering
 GK Clustering(Gustafson-Kessel, see [1])
 GK parallel Clustering
 GG Clustering(Gath and Geva, see [2])
 GG parallel Clustering
Click the desired methode to select it.
5.3.2 validity-methodes
A very interesting result of clustering is the validity of the calculated clusters.
There are 8 di erent validity-methodes to select of by clicking it (see [5], [6],
[7]).
 S-Validity
 PK-Validity
 CS-Validity
 D1-Validity
 FHV-Validity

 DPA-Validity
 PD-Validity
 Classify-Validity

5.3.3 dimension-selection
If you don't want to consider all dimensions when clustering, you can select
and unselect the dimensions you want to be considered by clicking the desired
dimensions. The selected ones will be displayed inverted.
This part only appears, if the object is supplied with data.
5.3.4 possibilistic-on/o
By clicking this icon you can switch between possibilistic and non-possibilistic
clustering (for meaning of possibilistic clustering see [3]).
CHAPTER 5. THE CLUSTER-OBJECTS 22

Figure 5.7: displaying calculated cluster

5.3.5 delta U selection


This is the value for  , which determines the maximum allowed di erence
U

between the new and the old value of during its calculation. If this value is
U

exceeded, a new iteration is necessary and will be done, if the number of repeats
(s. 5.3.7) allows this.
5.3.6 clusternumber
This part displays the desired number of clusters, which should be found. You
can select between auto (automatic search for optimal number of clusters) or
by selecting the light-icon you can determine the exact number.
5.3.7 repeats
If you only want a few calculation-steps, you can change the number of repeti-
tions by these icons. You can select between opt. (calculation will repeat until
an optimal result is found) or, by selecting the light-icon, the desired number
of repeats (see section 5.3.5).
5.3.8 K
This value determines a constant for possibilistic clustering.
CHAPTER 5. THE CLUSTER-OBJECTS 23

Figure 5.8: displaying Membership type a

5.3.9 M
This is the fuzzy er.
5.3.10 exactness
If you cluster a classi ed data-set with automatic determination of clusternum-
bers, the value speci es, how many percent of data have to fall into the wrong
cluster, to add a new cluster.

5.4 display-types
5.4.1 displaying Clusters (2d/3d)
This display-type shows the calculated clusters (if no clusters were calculated,
the raw data are shown), like shown in g. 5.7. Select a cluster-style-select-icon
to switch between the di erent cluster-types.
In 3d-mode the axes can be rotated and moved like desribed in section 3.3.
5.4.2 displaying Membership type a (2d/3d)
If clusters are calculated, each date has di erent memberships to all clusters.
In this view-type for all data the memberships to a single clusters are displayed
on the U-axis (like shown in g. 5.8). By moving the scrollbar you can select
the desired cluster.
CHAPTER 5. THE CLUSTER-OBJECTS 24

Figure 5.9: displaying Membership b

Figure 5.10: displaying degrees of membership

5.4.3 displaying Membership type b (2d/3d)


In 2d-mode (which is shown if g. 5.9) the memberships of a single date to all
clusters are displayed. The di erent clusters are shown on the horizontal axis,
the memberships are shown on the vertical axis (this axis has a length of 1 0).
:

By moving the scrollbar you can go through all data.


In the 3d-mode the membership values are shown for all data at a time.
5.4.4 displaying Membership degrees
This information is displayed in a seperated window. It shows the membership
degrees of the Input-object's selected date to all di erent clusters.
CHAPTER 5. THE CLUSTER-OBJECTS 25

Figure 5.11: displaying validity

5.4.5 displaying validity


If you have nished at least one cluster-calculation, this will show you the cor-
responding validity-values. The di erent number of clusters is related to the
horizontal axis, the calculated validity-values to the vertical axis (see g. 5.11).
To delete the validity-value, click the reset-icon.

5.5 create rules


If there are created clusters, you can make rules from them by clicking the
create-rules-icon. An options-window, like the one shown in g. 5.12, will
appear, to let you make some selections.
5.5.1 cluster-selection
If you don't want to create rules for all clusters, you can select or unselect
the clusters which should be considered. To do so you rst have to select the
select-cluster-icon from the action-select-icons. Now you can switch between
selected and unselected by clicking a date of the desired cluster. A selected
cluster is displayed black, an unselected grey. By pressing mouse-button 2 you
can select, by mouse-button 3 you can unselect all clusters.
CHAPTER 5. THE CLUSTER-OBJECTS 26

 dimension-selection

 Rule-type
 Parameter-type
 threshold

Figure 5.12: options-window to create Rule-object

5.5.2 dimension-selection
Select or unselect dimensions, which should be considered by the rules. To make
sense, at least 1 input- and 1 output-dimension should be selected.
5.5.3 rule-type
 rule-type 1:If you want to create rules out of cluster, which membership-
functions are convex, then this method is adequate.
 rule-type 2: If you do not cluster in all dimensions (e.g. only the output-
dimensions) it is possible, that the membership-function isn't convex in all
dimensions. In this case it is recommended, to use this methode, because it
tests the convexity and splits clusters (only temporary for rule-generation)
if necessary, and so may create more than one rule out of each cluster.
5.5.4 parameter-type
 trapezoid parameter: In this case the shapes of the rule-curves is deter-
mined by an approximation of the membership-function by trapezoids.
 convex parameter: In this case the shape of the rule-curves is the convex
fuzzy membership-function.
5.5.5 threshold
In non-possibilistic clustering the membership-functions are not monotone de-
creasing with increasing distance to the prototype of the cluster, which may
CHAPTER 5. THE CLUSTER-OBJECTS 27

have negative e ects on the parameter-curves. So the threshold is the mini-


mum value for datas to be considered, to eliminate increasing membership at
increasing distance.

5.6 create classi cation


If there are created clusters, you can make a Classify-object from it by clicking
the create-classi cation-icon. An options-window, like the one described in
section 5.5 will appear (only the Rule-type-selection is missing), to let you make
some selections (see section 5.5).
Chapter 6
The Rule-objects
The Rule-object o ers some rules, by which the outputs of a single date or the
outputs of all data of a dataset can be calculated. This can be done be creating
a connection from or to an Input-object.

6.1 Moveable-icon
A Moveable Icon of a Rule-object is shown in g. 6.1. The upper text is the
name of the rule- le (if you used saved rules) or the name of the Cluster-object
that created these rules. The lower text is the index of the Rule-object. It's
used to relate the Output-window to its Moveable Icon.

6.2 Output-window
The Output-window consists of two main-parts - the inputs and outputs of
the rules (as shown in g. 6.2). They are saved as membership-functions in the

 lename
 icon-index

Figure 6.1: the Rule-Icon

28
CHAPTER 6. THE RULE-OBJECTS 29

inputs outputs
dim-menu
ghost-icon - ?
? ?

Figure 6.2: the Output-window of an Rule-object

form of trapezoidal or convex functions.


It additional has some other elements:
 a ghost-icon
 dimension-menus (when needed)

6.2.1 dimension-menus
If the Rule-object is connected with an Input-object, dimension-menus are dis-
played. By these you can select the desired dimensions for inputs and outputs
of rules.
6.2.2 ghost-icon
(see Input-object (section 3.2.2))
6.2.3 switch on/o rules or dimensions
Sometimes it's interesting to examine the in uence of single rules or dimensions
(input or output) to the result of the rules. To do this you can switch single
dimensions or rules on or o by clicking the desired row or column with the
mouse. Button 2 is used for dimensions, button 3 for rules. If parts are switched
on, they are displayed black, otherwise grey.
CHAPTER 6. THE RULE-OBJECTS 30

6.3 calculate results


If you want to make the Rule-object calculate results, you can do so by creating
a connection from or to an Input-object, to use it as output or input for the
Input-object.

6.3.1 used as target-object


If the Rule-object is connected to the target-end of a connection, it works as
calculator for a single date (the selected date of the Input-object, see section
3.3.3). The matching-degrees are displayed as shown in g. 6.2. By selecting
another or moving the selected date in the Input-object, you can examine the
behaviour of the rules.
6.3.2 used as source-object
If the Rule-object is connected to the source-end of a connection to an Input-
object, it recalculates all outputs of the Input-object's dataset, so you can com-
pare it with the original data.
Chapter 7
Examples
Here are a few examples, how to use the program to solve some problems.

7.1 recalculating a dataset by created rules


1. Load a dataset (in this example we use klawonn.inp). You can do it
by selecting load Inputobject from menu or by starting the program with
options -input inputs/klawonn.inp.
2. Create a new Cluster-object by selecting the desired cluster-type from the
new Clusterobject submenu (FCM is used in this example).
3. Create a connection from the Input-object to the Cluster-object, to inform
it of the available data-dimensions and the state of the dataset (classi-
ed/unclassi ed).
4. Click Cluster-object's Moveable Icon with button 3, to get its option-
window. Now select the dimensions, which should be considered of the
clustering. You should select only the output-dimension (=z). Repeat-
number should stay opt., number of clusters should be a big number (10-
20) or stay auto. Press the OK-button to leave option-window.
5. Start clustering by pressing the go-icon. This can take a few time, if
repeatnumber is great or opt.(while clustering is not nished, it's shown
by the wait-look of the mouse).
6. Now you can select clusters, which should be considered when creating
new rules (see section 5.5.1).
7. Press make-rule-icon to create a new Rule-object. The rule-options-window
asks you for some selections. Since all dimensions should be considered,

31
CHAPTER 7. EXAMPLES 32

Figure 7.1: recalculate a dataset

you should select all. The rule-type should be changed to type 2. Press
the OK-button to start the rule-creation.
8. To recalculate the dataset create a connection from the new create Rule-
object to the Input-object. If you want to see only the original/calculated
data use the result display type select-icons (see section 3.2.4).

7.2 classify a dataset by a Classify-object


1. Load a dataset (in this example we use ellipsoid GG parallel.inp).
You can do it by selecting load Inputobject from menu or by starting the
CHAPTER 7. EXAMPLES 33

Figure 7.2: classify a dataset

program with options -input inputs/ellipsoid GG parallel.inp.


2. Create a new Cluster-object by selecting the desired cluster-type from the
new Clusterobject submenu (FCM is used in this example).
3. Create a connection from the Input-object to the Cluster-object, to inform
it of the available data-dimensions and the state of the dataset (classi-
ed/unclassi ed).
4. Click Cluster-object's Moveable Icon with button 3, to get its option-
window. Now select the dimensions, which should be considered of the
clustering. For classi cations all dimensions should be selected (this should
be the default-selection). Repeatnumber can be low (for example 5), since
CHAPTER 7. EXAMPLES 34

the calculated clusters are only used as initialisationfor the second Cluster-
object (GG parallel-clustering). For number of clusters select the value 3,
since 3 cluster should be found. Press the OK-button to leave option-
window.
5. Start clustering by pressing the go-icon. This should be nished quick!
6. Create a new Cluster-object with clustering-type GG parallel by selecting
the desired cluster-type from the new Clusterobject submenu.
7. Create a connection from the rst Cluster-object (FCM) to the new Clus-
ter-object (GG parallel).
8. Now set the clustering-options of the new Cluster-object to the values of
the rst Cluster-object (of course clustering-type should stay GG parallel).
You can change the repeatnumber to a greater number, but calculation
should be nished after about 3 repeats.
9. Start clustering of the new Cluster-object by pressing the go-icon. This
should also be nished quick!
10. Now you can select cluster, which should be considered when creating a
new classi cation (see section 5.5.1).
11. Press the make-classi cation-icon to create a new Classify-object. The
classify-options-window asks you for some selections. Since all dimensions
should be considered, you should select all. Press the OK-button to start
the classi cation-creation.
12. Create a connection from the new create Classify-object to the Input-object.
13. Finally select the classify-on/o -icon - the dataset becomes classi ed. If
you now save this dataset, it's saved classi ed!
Appendix A
Options
-h: help
-input lename: load lename as Input-object
-rule lename: load lename as Rule-object
-class lename: load lename as Classify-object
-q: No Welcome-window will be shown

35
Appendix B
Error-messages
 Cluster-object cannot be connect to itself!
You have tried to connect a Cluster-object to itself.
 Error in format of classify- le!
You have tried to load a classify- le which doesn't correspond to the
classify- le-format described in appendix C! Check the le and try again!
 Error in format of input- le!
You have tried to load an input- le which doesn't correspond to the input-
le-format described in appendix C! Check the le and try again!
 Error in format of rule- le!
You have tried to load a rule- le which doesn't correspond to the rule- le-
format described in appendix C! Check the le and try again!
 File does not exist!
You have tried to load a le which doesn't exists!
 No connection from Classify-object to Classify-object!
Connections from a Classify-object to another Classify-object are not al-
lowed.
 No connection from Classify-object to Cluster-object!
Connections from a Classify-object to a Cluster-object are not allowed.
 No connection from Classify-object to Rule-object!
Connections from a Classify-object to a Rule-object are not allowed.
 No connection from Cluster-object to Classify-object!
Connections from a Cluster-object to a Classify-object are not allowed.
 No connection from Cluster-object to Input-object!
Connections from a Cluster-object to an Input-object are not allowed.

36
APPENDIX B. ERROR-MESSAGES 37

 No connection from Cluster-object to Rule-object!


Connections from a Cluster-object to a Rule-object are not allowed.
 No connection from Input-object to Input-object!
Connections from an Input-object to another Input-object are not allowed.
 No connection from Rule-object to Classify-object!
Connections from a Rule-object to a Classify-object are not allowed.
 No connection from Rule-object to Cluster-object!
Connections from a Rule-object to a Cluster-object are not allowed.
 No connection from Rule-object to Rule-object!
Connections from a Rule-object to another Rule-object are not allowed.
 Not a Classify-object!
You have selected delete Classifyobject or save Classifyobject from menu
but selected an object which is not a Classify-object. Select another object
or bress button 3 on Main-window to cancel selection.
 Not a Cluster-object!
You have selected delete Clusterobject from menu but selected an object
which is not a Cluster-object. Select another object or bress button 3 on
Main-window to cancel selection.
 Not an Input-object!
You have selected delete Input or save Input from menu but selected an
object which is not an Input-object. Select another object or bress button
3 on Main-window to cancel selection.
 Input-objects dataset has no outputs!
You've tried to create a connection from a Rule-object to a Input-object to
recalculate all outputs, but the Input-object's dataset has no outputs. So
no outputs could be recalculated!
 Not a Rule-object!
You've selected delete Ruleobject or save Ruleobject from menu but selected
an object which is not a Rule-object. Select another object or bress button
3 on Main-window to cancel selection.
 Only input if no output exists!
You've tried to use a Rule-object or Classify-object as target-object, which
already functioned as source-object. Rule-objects and Classify-objects may
only work as target-object or source-object at a time.
 Only one input to Classify-object!
A Classify-object may serve as input for at most one object.
APPENDIX B. ERROR-MESSAGES 38

 Only one input to Cluster-object!


A Cluster-object may serve as input for at most one object.
 Only one input to Input-object!
An Input-object may serve as input for at most one object.
 Only one input to Rule-object!
A Rule-object may serve as input for at most one object.
 Only output, if no input exists!
You've tried to use a Rule-object or Classify-object as source-object which
already functioned as target-object. Rule-objects and Classify-objects may
only work as target-object or source-object at a time.
 Rule-object may only get input from Input-object!
You've tried to create a connection from an object which was no Input-
object to a Rule-object, but Rule-object can only get input from an Input-
object!
Appendix C
File-formats
C.1 Data
The rst entry in a dataset- le determines, whether the data are classi ed (clas-
si ed) or not (normal). The next entries speci es the number of data-vectors
and the in- and output-dimensions followed by the names of the dimensions.
Then all vectors are speci ed one after another: if the dataset is classi ed, the
number of the class is given after each vektor.
A sample dataset of 2 3-dimensional vectors could look like this:
normal
2 2 1
x y z
-2 -2 4
2 2 4
A sample classi ed dataset of 2 3-dimensional vectors could look like this:
classified
2 2 1
x y z
-2 -2 4 1
2 2 4 0

C.2 Rules
The rst entry in a rules- le is the word rules. After this the number of rules
and the input- and output-dimensions are speci ed. Then each dimension of
each rule is described separately. After the speci cation of the name, there are
two possible kinds of parameter-shape:
 trapezoid: In this case, 4 values for the shape of the trapezoid are speci ed.

39
APPENDIX C. FILE-FORMATS 40

U
1

x
1 2 3 4

Figure C.1: a trapezoid parameter

 convex: In this case, the number of value-pairs for the description of the
shape followed by the points of the parameter-curve are given.
A sample ruleset of 1 rule with input-dimension 1, output-dimension 1 and with
the shape of parameters as in g. C.1 could look like this:
rules
1 1 1
x trapezoid 1.0 2.0 3.0 4.0
y convex 4 1.0 0 2.0 1 3.0 1 4.0 0

C.3 Classi cation


The rst entry in a classi cation- le is the word classi cation. After this the
number of classi cation-rules and the data-dimensions are speci ed. After the
classnumber, a rule describes, each dimension of each rule is described sepa-
rately: followed by the name of the dimension there are two possible kinds of
parameter-shape:
 trapezoid: In this case, 4 values for the shape of the trapezoid are speci ed.
 convex: In this case, the number of value-pairs for the description of the
shape followed by the points of the parameter-curve are given.
A sample ruleset of 2 classes with data-dimension 1 could look like this:
classifikation
2 1
0
x trapezoid 1.0 2.0 3.0 4.0
1
x convex 4 1.0 0 2.0 1 3.0 1 4.0 0
Bibliography
[1] E.E. Gustafson and W.C. Kessel, "Fuzzy clustering with a fuzzy covarinace
matrix" In Proceedings, IEEE CDC, San Diego, Calif., 1979, pp. 761-766
[2] I. Gath and A.B. Geva, "Unsupervised optimal fuzzy clustering" , IEEE
Transaction on pattern analysis and Maxhine Intelligence, Vol. PAMI-11,
No. 7,1989,pp. 773-781
[3] R. Krishnapuram and J. Keller, "A possibilistic approach to clustering",
IEEE Transaction on Fuzzy Systems, Vol. 1, No. 2, 1993, pp. 98-110
[4] J.C.Bezdek, "Pattern Recognition with Fuzzy Objektive Function Algo-
rithms", Plenum Press, New York 1981
[5] J.C.Bezdek, "Numerical taxonomy with fuzzy sets", J.Math Biol., Vol. 1,
pp 57-71, 1974
[6] J.C.Dunn, "Well separated clusters and optimal Fuzzy-partitions", Journal
of Cybernetics 4(1974), 95-104
[7] Xuanli Lisa Xie and Gerardo Beni, "A Validity Measure for Fuzzy Cluster-
ing", IEEE Transactions on pattern analysis and machine intelligence, Vol.
13, NO. 8, August 1991

41

Potrebbero piacerti anche