Package elki.clustering
Class CFSFDP<O>
- java.lang.Object
-
- elki.clustering.CFSFDP<O>
-
- Type Parameters:
O
- Object type
- All Implemented Interfaces:
Algorithm
,ClusteringAlgorithm<Clustering<SimplePrototypeModel<DBID>>>
@Reference(authors="A. Rodriguez and A. Laio", title="Clustering by fast search and find of density peaks", booktitle="Science 344 (6191)", url="https://doi.org/10.1126/science.1242072", bibkey="doi:10.1126/science.1242072") public class CFSFDP<O> extends java.lang.Object implements ClusteringAlgorithm<Clustering<SimplePrototypeModel<DBID>>>
Clustering by fast search and find of density peaks (CFSFDP) is a density-based clustering method similar to mean-shift clustering.While the authors named this "fast", the runtime clearly is O(n²) making this a rather slow method compared to k-means. The Science paper also does not do a good comparison to existing methods such as HDBSCAN, OPTICS, and mean-shift clustering.
This is an adaptation of the original method to use priority search for accelerations, so the runtime can be better than pairwise distance computations (but supposedly still is O(n²))
Reference:
A. Rodriguez and A. Laio
Clustering by fast search and find of density peaks
Science 344 (6191), 2014- Since:
- 0.8.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CFSFDP.Par<O>
Parameterizer-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
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.Clustering<SimplePrototypeModel<DBID>>
run(Relation<O> relation)
Perform CFSFDP clustering.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.ClusteringAlgorithm
autorun
-
-
-
-
Method Detail
-
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
-
run
public Clustering<SimplePrototypeModel<DBID>> run(Relation<O> relation)
Perform CFSFDP clustering.- Parameters:
relation
- data relation- Returns:
- clustering
-
-