de.lmu.ifi.dbs.elki.algorithm.clustering
Class ByLabelHierarchicalClustering<O extends DatabaseObject>
java.lang.Object
de.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<O,Clustering<Model>>
de.lmu.ifi.dbs.elki.algorithm.clustering.ByLabelHierarchicalClustering<O>
- Type Parameters:
O
- Object type
- All Implemented Interfaces:
- Algorithm<O,Clustering<Model>>, ClusteringAlgorithm<Clustering<Model>,O>, Parameterizable
@Title(value="Hierarchical clustering by label")
@Description(value="Cluster points by a (pre-assigned!) label. For comparing results with a reference clustering.")
public class ByLabelHierarchicalClustering<O extends DatabaseObject>
- extends AbstractAlgorithm<O,Clustering<Model>>
- implements ClusteringAlgorithm<Clustering<Model>,O>
Pseudo clustering using labels.
This "algorithm" puts elements into the same cluster when they agree in their
labels. I.e. it just uses a predefined clustering, and is mostly useful for
testing and evaluation (e.g. comparing the result of a real algorithm to a
reference result / golden standard).
This variant derives a hierarchical result by doing a prefix comparison on
labels.
TODO: Noise handling (e.g. allow the user to specify a noise label pattern?)
- Author:
- Erich Schubert
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ByLabelHierarchicalClustering
public ByLabelHierarchicalClustering(Parameterization config)
- Constructor, adhering to
Parameterizable
- Parameters:
config
- Parameterization
ByLabelHierarchicalClustering
public ByLabelHierarchicalClustering()
- Constructor without parameters
runInTime
protected Clustering<Model> runInTime(Database<O> database)
throws IllegalStateException
- Run the actual clustering algorithm.
- Specified by:
runInTime
in class AbstractAlgorithm<O extends DatabaseObject,Clustering<Model>>
- Parameters:
database
- The database to process
- Returns:
- the Result computed by this algorithm
- Throws:
IllegalStateException
- if the algorithm has not been initialized
properly (e.g. the setParameters(String[]) method has been failed
to be called).