de.lmu.ifi.dbs.elki.algorithm.clustering
Interface ClusteringAlgorithm<C extends Clustering<? extends Model>,O extends DatabaseObject>
- Type Parameters:
C
- Clustering typeO
- 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, 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.
- Author:
- Arthur Zimek
run
C run(Database<O> database)
throws IllegalStateException
- Runs the algorithm.
- Specified by:
run
in interface Algorithm<O extends DatabaseObject,C extends Clustering<? extends Model>>
- Parameters:
database
- the database to run the algorithm on
- 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).
getResult
C getResult()
- Retrieve the result.
- Specified by:
getResult
in interface Algorithm<O extends DatabaseObject,C extends Clustering<? extends Model>>
- Returns:
- the result of the algorithm