Environment for
Supported by Index-Structures

Interface ClusteringAlgorithm<C extends Clustering<? extends Model>,O extends DatabaseObject>

Type Parameters:
C - Clustering type
O - the type of DatabaseObject handled by this Clustering
All Superinterfaces:
Algorithm<O,C>, Parameterizable
All Known Implementing Classes:
ByLabelClustering, ByLabelHierarchicalClustering, CASH, CLIQUE, COPAC, DBSCAN, DiSH, EM, ERiC, FourC, KMeans, ORCLUS, PreDeCon, PROCLUS, ProjectedClustering, ProjectedDBSCAN, SNNClustering, SUBCLU, TrivialAllInOne, TrivialAllNoise

public interface ClusteringAlgorithm<C extends Clustering<? extends Model>,O extends DatabaseObject>
extends Algorithm<O,C>

Interface for Algorithms that are capable to provide a Clustering as Result. in general, clustering algorithms are supposed to implement the Algorithm-Interface. The more specialized interface ClusteringAlgorithm requires an implementing algorithm to provide a special result class suitable as a partitioning of the database. More relaxed clustering algorithms are allowed to provide a result that is a fuzzy clustering, does not partition the database complete or is in any other sense a relaxed clustering result.

Arthur Zimek

Method Summary
 C run(Database<O> database)
          Runs the algorithm.
Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.Algorithm
setTime, setVerbose

Method Detail


C run(Database<O> database)
                                          throws IllegalStateException
Runs the algorithm.

Specified by:
run in interface Algorithm<O extends DatabaseObject,C extends Clustering<? extends Model>>
database - the database to run the algorithm on
the Result computed by this algorithm
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

Release 0.3 (2010-03-31_1612)