Package elki.clustering.hierarchical
Class HACAM<O>
- java.lang.Object
-
- elki.clustering.hierarchical.HACAM<O>
-
- Type Parameters:
O
- Object type
- All Implemented Interfaces:
Algorithm
,HierarchicalClusteringAlgorithm
@Reference(authors="Erich Schubert", title="HACAM: Hierarchical Agglomerative Clustering Around Medoids - and its Limitations", booktitle="Proc. Conf. \"Lernen, Wissen, Daten, Analysen\", LWDA", url="http://ceur-ws.org/Vol-2993/paper-19.pdf", bibkey="DBLP:conf/lwa/Schubert21") public class HACAM<O> extends java.lang.Object implements HierarchicalClusteringAlgorithm
Hierarchical Agglomerative Clustering Around Medoids (HACAM) is a hierarchical clustering method that merges the clusters with the smallest distance to the medoid of the union. This is different from the earlierMedoidLinkage
, which used the distance of the two previous medoids.The implementation incorporates the approach of Anderson for acceleration.
Reference:
Erich Schubert
HACAM: Hierarchical Agglomerative Clustering Around Medoids - and its Limitations
Proceedings of the Conference "Lernen, Wissen, Daten, Analysen", LWDA- Since:
- 0.8.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HACAM.Instance
Main worker instance of AGNES.static class
HACAM.Variant
Variants of the HACAM method.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Constructor Summary
Constructors Constructor Description HACAM(Distance<? super O> distance, HACAM.Variant variant)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeInformation[]
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.ClusterPrototypeMergeHistory
run(Relation<O> relation)
Run the algorithm-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.hierarchical.HierarchicalClusteringAlgorithm
autorun
-
-
-
-
Field Detail
-
LOG
private static final Logging LOG
Class logger
-
variant
protected HACAM.Variant variant
Linkage variant to use
-
-
Constructor Detail
-
HACAM
public HACAM(Distance<? super O> distance, HACAM.Variant variant)
Constructor.- Parameters:
distance
- Distance function to usevariant
- Variant to use
-
-
Method Detail
-
run
public ClusterPrototypeMergeHistory run(Relation<O> relation)
Run the algorithm- Parameters:
relation
- Relation- Returns:
- Clustering hierarchy
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:Algorithm
Get the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestriction
in interfaceAlgorithm
- Returns:
- Type restriction
-
-