Hierarchical constructor

Hierarchical({
  1. double maxLinkage = double.infinity,
  2. int minCluster = 1,
  3. double distanceMeasure(
    1. List<double>,
    2. List<double>
    ) = euclideanDistance,
  4. LINKAGE linkage = LINKAGE.COMPLETE,
  5. double linkageMeasure(
    1. List<double> distanceList
    )?,
})

Implementation

Hierarchical({
  this.maxLinkage = double.infinity,
  this.minCluster = 1,
  this.distanceMeasure = euclideanDistance,
  this.linkage = LINKAGE.COMPLETE,
  this.linkageMeasure,
}) {
  //if linkageMeasure is not overriden
  if (linkageMeasure == null) {
    switch (linkage) {
      case LINKAGE.AVERAGE:
        this.linkageMeasure = averageLink;
        break;
      case LINKAGE.COMPLETE:
        this.linkageMeasure = completeLink;
        break;
      case LINKAGE.SINGLE:
        this.linkageMeasure = singleLink;
        break;
    }
  }
}