public class UPGMALinkage extends Linkage
In bioinformatics, UPGMA is used for the creation of phenetic trees (phenograms). UPGMA assumes a constant rate of evolution (molecular clock hypothesis), and is not a well-regarded method for inferring relationships unless this assumption has been tested and justified for the data set being used.
Constructor and Description |
---|
UPGMALinkage(double[][] proximity)
Constructor.
|
UPGMALinkage(int size,
float[] proximity)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
merge(int i,
int j)
Merge two clusters into one and update the proximity matrix.
|
static UPGMALinkage |
of(double[][] data)
Given a set of data, computes the proximity and then the linkage.
|
static <T> UPGMALinkage |
of(T[] data,
smile.math.distance.Distance<T> distance)
Given a set of data, computes the proximity and then the linkage.
|
java.lang.String |
toString() |
public UPGMALinkage(double[][] proximity)
proximity
- the proximity matrix to store the distance measure of
dissimilarity. To save space, we only need the lower half of matrix.public UPGMALinkage(int size, float[] proximity)
size
- the data size.proximity
- column-wise linearized proximity matrix that stores
only the lower half. The length of proximity should be
size * (size+1) / 2.
To save space, Linkage will use this argument directly
without copy. The elements may be modified.public static UPGMALinkage of(double[][] data)
public static <T> UPGMALinkage of(T[] data, smile.math.distance.Distance<T> distance)
public java.lang.String toString()
toString
in class java.lang.Object