
NV - the type of NumberVector handled by this AlgorithmD - the type of Distance used@Title(value="DeliClu: Density-Based Hierarchical Clustering") @Description(value="Hierachical algorithm to find density-connected sets in a database based on the parameter \'minpts\'.") @Reference(authors="E. Achtert, C. B\u00f6hm, P. Kr\u00f6ger", title="DeLiClu: Boosting Robustness, Completeness, Usability, and Efficiency of Hierarchical Clustering by a Closest Pair Ranking", booktitle="Proc. 10th Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD 2006), Singapore, 2006", url="http://dx.doi.org/10.1007/11731139_16") public class DeLiClu<NV extends NumberVector<?>,D extends Distance<D>> extends AbstractDistanceBasedAlgorithm<NV,D,ClusterOrderResult<D>> implements OPTICSTypeAlgorithm<D>
 Reference: 
 E. Achtert, C. Böhm, P. Kröger: DeLiClu: Boosting Robustness, Completeness,
 Usability, and Efficiency of Hierarchical Clustering by a Closest Pair
 Ranking. 
 In Proc. 10th Pacific-Asia Conference on Knowledge Discovery and Data Mining
 (PAKDD 2006), Singapore, 2006.
 
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
DeLiClu.Parameterizer<NV extends NumberVector<?>,D extends Distance<D>>
Parameterization class. 
 | 
class  | 
DeLiClu.SpatialObjectPair
Encapsulates an entry in the cluster order. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
private UpdatableHeap<DeLiClu.SpatialObjectPair> | 
heap
The priority queue for the algorithm. 
 | 
private KNNJoin<NV,D,DeLiCluNode,DeLiCluEntry> | 
knnJoin
Holds the knnJoin algorithm. 
 | 
private static Logging | 
LOG
The logger for this class. 
 | 
private int | 
minpts
Holds the value of  
MINPTS_ID. | 
static OptionID | 
MINPTS_ID
Parameter to specify the threshold for minimum number of points within a
 cluster, must be an integer greater than 0. 
 | 
DISTANCE_FUNCTION_ID| Constructor and Description | 
|---|
DeLiClu(DistanceFunction<? super NV,D> distanceFunction,
       int minpts)
Constructor. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
private void | 
expandDirNodes(SpatialPrimitiveDistanceFunction<NV,D> distFunction,
              DeLiCluNode node1,
              DeLiCluNode node2)
Expands the specified directory nodes. 
 | 
private void | 
expandLeafNodes(SpatialPrimitiveDistanceFunction<NV,D> distFunction,
               DeLiCluNode node1,
               DeLiCluNode node2,
               DataStore<KNNList<D>> knns)
Expands the specified leaf nodes. 
 | 
private void | 
expandNodes(DeLiCluTree index,
           SpatialPrimitiveDistanceFunction<NV,D> distFunction,
           DeLiClu.SpatialObjectPair nodePair,
           DataStore<KNNList<D>> knns)
Expands the spatial nodes of the specified pair. 
 | 
D | 
getDistanceFactory()
Get the distance factory. 
 | 
TypeInformation[] | 
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query. 
 | 
protected Logging | 
getLogger()
Get the (STATIC) logger for this class. 
 | 
int | 
getMinPts()
Get the minpts value used. 
 | 
private DBID | 
getStartObject(Relation<NV> relation)
Returns the id of the start object for the run method. 
 | 
private void | 
reinsertExpanded(SpatialPrimitiveDistanceFunction<NV,D> distFunction,
                DeLiCluTree index,
                List<TreeIndexPathComponent<DeLiCluEntry>> path,
                DataStore<KNNList<D>> knns)
Reinserts the objects of the already expanded nodes. 
 | 
private void | 
reinsertExpanded(SpatialPrimitiveDistanceFunction<NV,D> distFunction,
                DeLiCluTree index,
                List<TreeIndexPathComponent<DeLiCluEntry>> path,
                int pos,
                SpatialDirectoryEntry parentEntry,
                DataStore<KNNList<D>> knns)  | 
ClusterOrderResult<D> | 
run(Database database,
   Relation<NV> relation)  | 
getDistanceFunctionmakeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
public static final OptionID MINPTS_ID
private UpdatableHeap<DeLiClu.SpatialObjectPair> heap
private KNNJoin<NV extends NumberVector<?>,D extends Distance<D>,DeLiCluNode,DeLiCluEntry> knnJoin
private int minpts
MINPTS_ID.public DeLiClu(DistanceFunction<? super NV,D> distanceFunction, int minpts)
distanceFunction - Distance functionminpts - MinPtspublic ClusterOrderResult<D> run(Database database, Relation<NV> relation)
private DBID getStartObject(Relation<NV> relation)
relation - the database relation storing the objectsprivate void expandNodes(DeLiCluTree index, SpatialPrimitiveDistanceFunction<NV,D> distFunction, DeLiClu.SpatialObjectPair nodePair, DataStore<KNNList<D>> knns)
index - the index storing the objectsdistFunction - the spatial distance function of this algorithmnodePair - the pair of nodes to be expandedknns - the knn listprivate void expandDirNodes(SpatialPrimitiveDistanceFunction<NV,D> distFunction, DeLiCluNode node1, DeLiCluNode node2)
distFunction - the spatial distance function of this algorithmnode1 - the first nodenode2 - the second nodeprivate void expandLeafNodes(SpatialPrimitiveDistanceFunction<NV,D> distFunction, DeLiCluNode node1, DeLiCluNode node2, DataStore<KNNList<D>> knns)
distFunction - the spatial distance function of this algorithmnode1 - the first nodenode2 - the second nodeknns - the knn listprivate void reinsertExpanded(SpatialPrimitiveDistanceFunction<NV,D> distFunction, DeLiCluTree index, List<TreeIndexPathComponent<DeLiCluEntry>> path, DataStore<KNNList<D>> knns)
distFunction - the spatial distance function of this algorithmindex - the index storing the objectspath - the path of the object inserted lastknns - the knn listprivate void reinsertExpanded(SpatialPrimitiveDistanceFunction<NV,D> distFunction, DeLiCluTree index, List<TreeIndexPathComponent<DeLiCluEntry>> path, int pos, SpatialDirectoryEntry parentEntry, DataStore<KNNList<D>> knns)
public int getMinPts()
OPTICSTypeAlgorithmgetMinPts in interface OPTICSTypeAlgorithm<D extends Distance<D>>public D getDistanceFactory()
OPTICSTypeAlgorithmgetDistanceFactory in interface OPTICSTypeAlgorithm<D extends Distance<D>>public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<ClusterOrderResult<D extends Distance<D>>>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<ClusterOrderResult<D extends Distance<D>>>