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.utilities.optionhandling.AbstractParameterizable
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<O,Clustering<Model>>
de.lmu.ifi.dbs.elki.algorithm.clustering.ByLabelHierarchicalClustering<O>
- Type Parameters:
O
-
- All Implemented Interfaces:
- Algorithm<O,Clustering<Model>>, ClusteringAlgorithm<Clustering<Model>,O>, Parameterizable
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 de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable |
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
result
private Clustering<Model> result
- Holds the result of the algorithm.
ByLabelHierarchicalClustering
public ByLabelHierarchicalClustering()
getResult
public Clustering<Model> getResult()
- Return clustering result
- Specified by:
getResult
in interface Algorithm<O extends DatabaseObject,Clustering<Model>>
- Specified by:
getResult
in interface ClusteringAlgorithm<Clustering<Model>,O extends DatabaseObject>
- Returns:
- the result of the algorithm
getDescription
public Description getDescription()
- Obtain a description of the algorithm
- Specified by:
getDescription
in interface Algorithm<O extends DatabaseObject,Clustering<Model>>
- Returns:
- a description of the algorithm
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).