
V - the type of NumberVector handled by this Algorithmpublic abstract class AbstractProjectedDBSCAN<R extends Clustering<Model>,V extends NumberVector<?>> extends AbstractAlgorithm<R> implements ClusteringAlgorithm<R>
| Modifier and Type | Class and Description | 
|---|---|
| static class  | AbstractProjectedDBSCAN.Parameterizer<V extends NumberVector<?>,D extends Distance<D>>Parameterization class. | 
| Modifier and Type | Field and Description | 
|---|---|
| private LocallyWeightedDistanceFunction<V> | distanceFunctionHolds the instance of the distance function specified by
  INNER_DISTANCE_FUNCTION_ID. | 
| protected DoubleDistance | epsilonHolds the value of  EPSILON_ID. | 
| static OptionID | EPSILON_IDParameter to specify the maximum radius of the neighborhood to be
 considered, must be suitable to  LocallyWeightedDistanceFunction. | 
| static OptionID | INNER_DISTANCE_FUNCTION_IDParameter distance function | 
| private int | lambdaHolds the value of  LAMBDA_ID. | 
| static OptionID | LAMBDA_IDParameter to specify the intrinsic dimensionality of the clusters to find,
 must be an integer greater than 0. | 
| protected int | minptsHolds the value of  MINPTS_ID. | 
| static OptionID | MINPTS_IDParameter to specify the threshold for minimum number of points in the
 epsilon-neighborhood of a point, must be an integer greater than 0. | 
| private ModifiableDBIDs | noiseHolds a set of noise. | 
| static OptionID | OUTER_DISTANCE_FUNCTION_IDParameter to specify the distance function to determine the distance
 between database objects, must extend
  LocallyWeightedDistanceFunction. | 
| private ModifiableDBIDs | processedIDsHolds a set of processed ids. | 
| private List<ModifiableDBIDs> | resultListHolds a list of clusters found. | 
| Constructor and Description | 
|---|
| AbstractProjectedDBSCAN(DoubleDistance epsilon,
                       int minpts,
                       LocallyWeightedDistanceFunction<V> distanceFunction,
                       int lambda)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | expandCluster(LocallyWeightedDistanceFunction.Instance<V> distFunc,
             RangeQuery<V,DoubleDistance> rangeQuery,
             DBID startObjectID,
             FiniteProgress objprog,
             IndefiniteProgress clusprog)ExpandCluster function of DBSCAN. | 
| TypeInformation[] | getInputTypeRestriction()Get the input type restriction used for negotiating the data query. | 
| abstract String | getLongResultName()Return the long result name. | 
| abstract String | getShortResultName()Return the short result name. | 
| Clustering<Model> | run(Database database,
   Relation<V> relation)Run the algorithm | 
getLogger, makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunpublic static final OptionID OUTER_DISTANCE_FUNCTION_ID
LocallyWeightedDistanceFunction
 .
 
 Key: -projdbscan.distancefunction
 
 Default value:
 LocallyWeightedDistanceFunction
 
public static final OptionID INNER_DISTANCE_FUNCTION_ID
public static final OptionID EPSILON_ID
LocallyWeightedDistanceFunction.
 
 Key: -projdbscan.epsilon
 
public static final OptionID LAMBDA_ID
 Key: -projdbscan.lambda
 
public static final OptionID MINPTS_ID
 Key: -projdbscan.minpts
 
private LocallyWeightedDistanceFunction<V extends NumberVector<?>> distanceFunction
INNER_DISTANCE_FUNCTION_ID.protected DoubleDistance epsilon
EPSILON_ID.private int lambda
LAMBDA_ID.protected int minpts
MINPTS_ID.private List<ModifiableDBIDs> resultList
private ModifiableDBIDs noise
private ModifiableDBIDs processedIDs
public AbstractProjectedDBSCAN(DoubleDistance epsilon, int minpts, LocallyWeightedDistanceFunction<V> distanceFunction, int lambda)
epsilon - Epsilonminpts - MinPts parameterdistanceFunction - Outer distance functionlambda - Lambda valuepublic Clustering<Model> run(Database database, Relation<V> relation)
database - Database to processrelation - Relation to processpublic abstract String getLongResultName()
public abstract String getShortResultName()
protected void expandCluster(LocallyWeightedDistanceFunction.Instance<V> distFunc, RangeQuery<V,DoubleDistance> rangeQuery, DBID startObjectID, FiniteProgress objprog, IndefiniteProgress clusprog)
distFunc - Distance query to userangeQuery - Range querystartObjectID - the object id of the database object to start the
        expansion withobjprog - the progress object for logging the current statuspublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<R extends Clustering<Model>>