1.0 The Applet

2.0 Loading Image and Data Point Files

3.0 The Applet Controls

4.0 Running the Algorithms

5.0 Saving the Data Points

6.0 Removing Computed Shells and Clusters

7.0 Removing the Data Points

8.0 On Line Help

**1.0 The Applet**

Figure 1. The Fuzzy Clustering Applet's First Screen

The Fuzzy Clustering Applet is a simulation tool useful in observing fuzzy logic algorithms while they attempt to locate groups of points in your data set. To run the applet, first you need it installed on a web server. Because the applet is written in Java, next thing you need a Java enabled web browser. Netscape's Navigator, or Microsoft's Internet Explorer will work just fine. In order for the applet load data from the user's computer I use a HTML form containing a File Selection field. This is a extension to the HTML language not supported by most browsers. In fact, to effectively run the applet I recommend that you use either Netscape's Navigator version 3.0 and newer or Microsoft's Internet Explorer version 4.0 and newer.

Figure 1 is the first screen of the Fuzzy Clustering Applet. Like it says on the screen, here is where the user can load data files into the applet. Figure 2 is the very next screen, the actual applet itself.

Figure 2. The Fuzzy Clustering
Applet

**2.0 Loading Image and Data Point Files**

To pass the applet your own data points, all you just have to do is create an ASCII file of the following format:

- First field is the text
**fuzzyclust** - Next is the number of data points. This must be a positive integer.
- Now the number of axes: 2 for rectangular coordinates or 3 for three-dimensions
- Finally the data points themselves; one point's coordinate at a time. For example, in two dimensions the format would be X1,Y1,Y2,Y2,X3,Y3,… etc.

The format of this file is quite liberal. You can use any white space character, a comma, or even a newline interchangeably as field delimiters.

If you wish to load an image the applet supports gif and jpeg encoded image files. The plotting canvas is 300 by 300 pixels so remember to keep your images small.

To load a file into the applet you start with the first screen (see figure 1). Here are two fields: one for data point files and one for image files. You simply have to enter the name in the appropriate field on the form. If you don't know the name, select the browse button to search your local directories.

To start the applet select the **Start Applet** button at
the bottom of the form. If you make a mistake press the **Clear
Form** button.

Loading data files into the applet is not required to run the
applet. In figure 2, note the white square with a cube drawn
in it. This is the plotting canvas. This is where all the data
points are plotted. To enter your own points simply click the
left mouse button on the canvas.

**3.0 The Applet Controls **

Figure 3. Load Points Completed Dialog

Figure 2 is the applet itself. If the user specified any data
files from the first screen, they will now begin loading. When
the loading of points completes, the dialog box of figure 3 will
be displayed. Select **OK** to close.

Figure 4. Point Marker Controls

You already know that the white square in figure 2 is where all points are plotted in the applet. To can change certain aspects of the plotting, use the controls of figure 4. To set the size of the data points in the plotting canvas use the Size controller. To change the color of the data points use the Color controller. For a three dimensional perspective you can display a cube or truncated cube using the Cube controller.

Figure 5. The Clustering Process Control

The Fuzzy Clustering Applet supports two types of clustering. Robust clustering and Shell clustering. The Robust clustering algorithm attempts to locate and color groups of points that are adjacent to a some computed coordinate, a cluster center. The Shell clustering algorithms, similarly attempt to locate groups of points but to encircle them instead. To select the clustering process use the controls of figure 5.

Figure 6. Shell Clustering Algorithm Choice

Figure 7. AFCES Simple

Figure 8. Simple & Newton

Figure 9. Simple, Newton and U

If Shell clustering is enabled you can choose a particular clustering algorithm to run using the controls shown in figure 6. The valid choices are: AFCES Simple, AFCES Newton, and AFCES U. The applet is designed so that you may compare the results of each of these algorithms. Simply select and run each algorithm in turn. The current results will be overlaid across the previous results (see figures 7, 8, and 9).

Figure 10. Robust Clustering Controls

The controls of figure 10 are used if Robust clustering is enabled.
The first is the Lambda parameter. It is a multiplier factor
for the noise computation. Its value can be any real number greater
than zero. The Fuzziness parameter is an exponent for the weight
optimization function. Its value also can be any real number
greater than zero. The Membership Weight value is a percentage.
Therefore it must be a quantity greater than zero but not exceeding
one. This value is used as the initial probability for cluster
membership, that is assigned to a point.

Figure 12. Display Confidence

Figure 11. Display Clustering

Next are the radio buttons: Display Clusters / Display Confidence.
They are used when plotting clusters. If Display Clusters is
selected, the points that are members of a particular cluster
are all colored a unique color (see figure 11). If the Display
Confidence is selected, the points surrounding the clusters are
colored a unique color depending upon the probability that they
belong to that cluster (see figure 12).

The last group of radio buttons: Run Once / Find Optimal defines how the algorithm determines the number of clusters. If the first option is chosen, the algorithm will perform its computations using the given number of clusters. If the latter is chosen, the algorithm will first compute the optimum number of clusters, then compute the clustering. This process takes a significant amount of time.

The last two options: Display After Each Iteration and Show All Computed Clusters control plotting as well. The former tells the algorithm to plot all the intermediate results while continuing to compute. The latter instructs the algorithm to plot all the clusters computed, including those that fall below the noise threshold.

Figure 13. Controls for All Algorithms

The last of the algorithm controls are shown in figure 13. These
two options are valid for all algorithms. The Approx Number of
Clusters field is where the user specifies the estimated number
of groups of points in the data set. The Weight Assignment Strategy
can be: alternate, random, or in order. This specifies the way
in which cluster membership weights are initialized for every
point in the graph.

**4.0 Running the Algorithms**

Figure 14. The Algorithm Results Dialog (Running)

Figure 15. The View Results Button

Once you have configured the algorithm controls you can start
the computation by selecting the **Run Algorithm** button.
When the algorithm starts the Results Dialog appears (see figure
14). Collected in the scrollable area of the dialog box is any
textual output from the running algorithm. While the algorithm
is active, the Results Dialog appears like in figure 14. If you
select the **Hide** button, the dialog disappears from view.
To restore the dialog press the **View Results** button (see
figure 15). You can also stop the computation before it completes
by pressing the **Stop** button.

When the algorithm has finished computing the Results Dialog appearance
is similar to figure 16. To close the dialog without saving the
text output press the **Close** button. To save the captured
textual output select the **Save Results** button. Figure
17 is an example of a save output screen. This is a new browser
window in which the all the algorithm output is collected. To
complete the saving process, the user must select the save option
from the browser's file menu, writing to local disk.

Figure 17. The Save Results Screen

Figure 16. The Algorithm Results Dialog (Finished)

**5.0 Saving the Data Points**

Figure 18. The Save Data Points Screen

If you have entered data points on the canvas manually through
clicking the mouse, you should save your changes. To save the
data points select the **Save Points** button (see figure 2).
The screen in figure 18 is similar to what you will see next.
It is a new browser window in which the data points in the applet
are exported. To complete the saving process, the user must select
the save option from the browser's file menu, writing to local
disk.

**6.0 Removing Computed Shells and Clusters**

To remove any algorithm's computations, be it circles or colored
clusters, the user just has to select the **Clear Clusters**
button (see figure 2).

**7.0 Removing the Data Points**

To delete all the data points in the applet simply select the
**Clear Points** button (see Figure 2). There are no warnings
issued with this option; it is absolute.

**8.0 On Line Help**

On line help is available as an HTML document that is loaded
when the user presses the **Help** button (see figure 2).
The help file will open in its own browser window.