Class WeightedAverageLinkage
java.lang.Object
ch.usi.inf.sape.hac.agglomeration.WeightedAverageLinkage
- All Implemented Interfaces:
AgglomerationMethod
The "weighted average", "McQuitty", or
"Weighted Pair-Group Method using Arithmetic averages, or WPGMA)" method.
Average linkage where the sizes of the clusters are assumed to be equal.
This method, similar to "Median", weights small and large clusters equally.
[The data analysis handbook. By Ildiko E. Frank, Roberto Todeschini]
The general form of the Lance-Williams matrix-update formula:
d[(i,j),k] = ai*d[i,k] + aj*d[j,k] + b*d[i,j] + g*|d[i,k]-d[j,k]|
For the "McQuitty" method:
ai = 0.5
aj = 0.5
b = 0
g = 0
Thus:
d[(i,j),k] = 0.5*d[i,k] + 0.5*d[j,k]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecomputeDissimilarity(double dik, double djk, double dij, int ci, int cj, int ck) Compute the dissimilarity between the newly formed cluster (i,j) and the existing cluster k.toString()
-
Constructor Details
-
WeightedAverageLinkage
public WeightedAverageLinkage()
-
-
Method Details
-
computeDissimilarity
public double computeDissimilarity(double dik, double djk, double dij, int ci, int cj, int ck) Description copied from interface:AgglomerationMethodCompute the dissimilarity between the newly formed cluster (i,j) and the existing cluster k.- Specified by:
computeDissimilarityin interfaceAgglomerationMethod- Parameters:
dik- dissimilarity between clusters i and kdjk- dissimilarity between clusters j and kdij- dissimilarity between clusters i and jci- cardinality of cluster icj- cardinality of cluster jck- cardinality of cluster k- Returns:
- dissimilarity between cluster (i,j) and cluster k.
-
toString
-