Package elki.clustering
Class BetulaLeafPreClustering
- java.lang.Object
-
- elki.clustering.BetulaLeafPreClustering
-
- All Implemented Interfaces:
Algorithm
,ClusteringAlgorithm<Clustering<MeanModel>>
@Priority(-100) @Reference(authors="Andreas Lang and Erich Schubert", title="BETULA: Fast Clustering of Large Data with Improved BIRCH CF-Trees", booktitle="Information Systems", url="https://doi.org/10.1016/j.is.2021.101918", bibkey="DBLP:journals/is/LangS22") public class BetulaLeafPreClustering extends java.lang.Object implements ClusteringAlgorithm<Clustering<MeanModel>>
BETULA-based clustering algorithm that simply treats the leafs of the CFTree as clusters. As this usually are smaller parts than actual clusters, we call this a preclustering, as it is primarily useful as a data simplification prior to, e.g., clustering. For actual clustering methods based on the leaves, please useBetulaGMM
andBetulaLloydKMeans
.References:
Andreas Lang and Erich Schubert
BETULA: Fast Clustering of Large Data with Improved BIRCH CF-Trees
Information Systems- Since:
- 0.8.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BetulaLeafPreClustering.Par
Parameterization class.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description (package private) CFTree.Factory<?>
cffactory
CFTree factory.private static Logging
LOG
Class logger.(package private) boolean
storeIds
Store ids
-
Constructor Summary
Constructors Constructor Description BetulaLeafPreClustering(CFTree.Factory<?> cffactory, boolean storeIds)
Constructor.
-
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<MeanModel>
run(Relation<NumberVector> relation)
Run the clustering algorithm.-
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 Logging LOG
Class logger.
-
cffactory
CFTree.Factory<?> cffactory
CFTree factory.
-
storeIds
boolean storeIds
Store ids
-
-
Constructor Detail
-
BetulaLeafPreClustering
public BetulaLeafPreClustering(CFTree.Factory<?> cffactory, boolean storeIds)
Constructor.- Parameters:
cffactory
- CFTree Factory
-
-
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<MeanModel> run(Relation<NumberVector> relation)
Run the clustering algorithm.- Parameters:
relation
- Input data- Returns:
- Clustering
-
-