Package elki.clustering
Class CFSFDP<O>
- java.lang.Object
-
- elki.clustering.CFSFDP<O>
-
- Type Parameters:
O- Object type
- All Implemented Interfaces:
elki.Algorithm,ClusteringAlgorithm<Clustering<SimplePrototypeModel<elki.database.ids.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<elki.database.ids.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 classCFSFDP.Par<O>Parameterizer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description elki.data.type.TypeInformation[]getInputTypeRestriction()Clustering<SimplePrototypeModel<elki.database.ids.DBID>>run(elki.database.relation.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
-
-
-
-
Field Detail
-
LOG
private static final elki.logging.Logging LOG
Class logger.
-
distance
protected elki.distance.Distance<? super O> distance
Distance function used.
-
dc
protected double dc
Distance cutoff.
-
k
protected int k
Number of clusters to find.
-
-
Constructor Detail
-
CFSFDP
protected CFSFDP(elki.distance.Distance<? super O> distance, double dc, int k)
Constructor.- Parameters:
distance- distance functiondc- distance cutoffk- number of clusters
-
-
Method Detail
-
getInputTypeRestriction
public elki.data.type.TypeInformation[] getInputTypeRestriction()
- Specified by:
getInputTypeRestrictionin interfaceelki.Algorithm
-
run
public Clustering<SimplePrototypeModel<elki.database.ids.DBID>> run(elki.database.relation.Relation<O> relation)
Perform CFSFDP clustering.- Parameters:
relation- data relation- Returns:
- clustering
-
-