Fuzzy c-Means

The fuzzy c-means algorithm is a well-known unsupervised learning technique that can be used to reveal the underlying structure of the data. Fuzzy clustering allows each data point to belong to several clusters, with a degree of membership to each one.
Make sure that the input data is normalized to obtain better clustering results.
The first output datatable provides the original datatable with the cluster memberships to each cluster. The second datatable provides the values of the cluster prototypes.
Additionally, it is possible to induce a noise cluster, to detect noise in the dataset, based on the approach from R. N. Dave: 'Characterization and detection of noise in clustering'.

Options

Number of clusters
Number of clusters to use for the algorithm.
Maximum number of iterations
This is the maximum number of iterations to be performed.
Fuzzifier
Indicates how much the clusters are allowed to overlap.
Use seed for random initialization
If this checkbox is set, a seed can be set for initializing the cluster prototypes.
Random seed
The seed value used for random number generation. Use the same seed to get identical clustering results across multiple executions.
Draw seed
Generate a random seed and set it in the Random seed input above for reproducible runs.
Always include all columns
If checked, node behaves as if all columns were moved to the Include list.
Used attributes
Select the columns that are to be used for clustering. Make sure that the input data is normalized to obtain better clustering results.
Induce noise cluster
Whether to induce a noise cluster or not.
Delta computation method
Choose whether to set a fixed delta value or to compute it automatically based on lambda.
  • Automatic delta, specify lambda: Delta is updated in each iteration, based on the average interpoint distances. However, a lambda paramater has to be set, according to the shape of the clusters.
  • Set delta: Delta is the fixed distance from every datapoint to the noise cluster.
Delta
The delta value.
Lambda
The lambda value.
Perform the clustering in memory
If this option is selected, the clustering is performed in the memory, which speeds up the process.
Compute cluster quality measures
Whether to calculate quality measures for the clustering. This can be time and memory consuming with large datasets.

Input Ports

Icon
Datatable with training data. Make sure that the data are normalized!

Output Ports

Icon
Input table extended by cluster membership
Icon
Cluster centers

Popular Successors

Views

Statistics View
Shows the WithinClusterVariation and the BetweenClusterVariation, which are indicators for 'good' clustering.

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.