de.aitools.dm.clustering.algorithms.hac
Class WardsMethod

java.lang.Object
  extended by de.aitools.dm.clustering.algorithms.hac.WardsMethod
All Implemented Interfaces:
HACClusterMethod

public final class WardsMethod
extends java.lang.Object
implements HACClusterMethod

The proximity of two clusters is the proximity in terms of the increase of the SSE (Summed Squared Error) that would result from merging the two clusters (based on their centroids).
Thus always the merge is taken that results in the smallest increase of the SSE.
This method needs a distance measure as Proximity.

Version:
$Id: WardsMethod.java,v 1.1 2011/06/22 14:22:51 dogu3912 Exp $
Author:
johannes.kiesel(/\t)uni-weimar.de

Constructor Summary
WardsMethod()
           
 
Method Summary
 double simRQ(double simAB, double simAQ, double simBQ, int sizeA, int sizeB, int sizeQ)
          Equation (from Tan et al.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WardsMethod

public WardsMethod()
Method Detail

simRQ

public double simRQ(double simAB,
                    double simAQ,
                    double simBQ,
                    int sizeA,
                    int sizeB,
                    int sizeQ)
Description copied from interface: HACClusterMethod
Equation (from Tan et al. (2006) p. 524, see HAC for full reference):
sim(R,Q) = αa * sim(A,Q) + αb * sim(B,Q) + β * sim(A,B) + γ * |sim(A,Q) - sim(B,Q)|
Where αa, αb, β and γ depend on the method to use.
See the class description of the concrete implementation for information about these parameters.
Cluster A and cluster B are merged to form cluster R. This method calculates the proximity of R to a cluster Q.

Specified by:
simRQ in interface HACClusterMethod
Parameters:
simAB - Proximity between A and B
simAQ - Proximity between A and Q
simBQ - Proximity between B and Q
Returns:
simRQ, the proximity between R and Q