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

Class LanceWilliamsAlgorithm

  extended by com.chemaxon.clustering.wards.LanceWilliamsAlgorithm

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.

Gabor Imre
See Also:

Constructor Summary
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


public LanceWilliamsAlgorithm()
Method Detail


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.

input - Input dissimilarity space
merge - Cluster distance update function
po - Observing progress observer
Clustered hierarchy, preferred levels set as cluster distances
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)