jklustor-all-api-0.0.7-20140619012755 (ChemAxon)


com.chemaxon.clustering.wards
Class LanceWilliamsAlgorithm

Object
  extended by com.chemaxon.clustering.wards.LanceWilliamsAlgorithm

@Beta
public final class LanceWilliamsAlgorithm
extends Object

Agglomerative hierarchical clustering implementation for Lance-Williams algorithm family.

Licensing: this class is part of the JKlustor suite; it can be used with valid JKlustor license.

Please note that this class is marked with @Beta annotation, so it can be subject of incompatible changes or removal in later releases.

Author:
Gabor Imre
See Also:
http://en.wikipedia.org/wiki/Ward%27s_method#Lance.E2.80.93Williams_algorithms

Constructor Summary
LanceWilliamsAlgorithm()
           
 
Method Summary
static IDBasedHierarchicClustering cluster(DissimilarityInput input, LanceWilliamsMerge merge, ProgressObserver po)
          Invoke clustering.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LanceWilliamsAlgorithm

public LanceWilliamsAlgorithm()
Method Detail

cluster

public static IDBasedHierarchicClustering cluster(DissimilarityInput input,
                                                  LanceWilliamsMerge merge,
                                                  ProgressObserver po)
                                           throws CancellationException
Invoke clustering.

The current implementation requires O(n2) storage and O(n2) pairwise input comparison invocation. Over the stored dissimilarity values it requires O(n3) simple numerical comparison steps.

Parameters:
input - Input dissimilarity space
merge - Cluster distance update function
po - Observing progress observer
Returns:
Clustered hierarchy, preferred levels set as cluster distances
Throws:
CancellationException - Upon cancellation through the given ProgressObserver
IllegalArgumentException - When less than 2 input specified
IllegalStateException - When distance inconsistency found during merging: the distance of a merged cluster and any other cluster must be not less than the distance of the merging clusters
chemaxon.license.LicenseException - when appropriate license is not available

jklustor-all-api-0.0.7-20140619012755 (ChemAxon)