
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> | 
distanceFunction
Holds the instance of the distance function specified by
  
INNER_DISTANCE_FUNCTION_ID. | 
protected DoubleDistance | 
epsilon
Holds the value of  
EPSILON_ID. | 
static OptionID | 
EPSILON_ID
Parameter to specify the maximum radius of the neighborhood to be
 considered, must be suitable to  
LocallyWeightedDistanceFunction. | 
static OptionID | 
INNER_DISTANCE_FUNCTION_ID
Parameter distance function 
 | 
private int | 
lambda
Holds the value of  
LAMBDA_ID. | 
static OptionID | 
LAMBDA_ID
Parameter to specify the intrinsic dimensionality of the clusters to find,
 must be an integer greater than 0. 
 | 
protected int | 
minpts
Holds the value of  
MINPTS_ID. | 
static OptionID | 
MINPTS_ID
Parameter 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 | 
noise
Holds a set of noise. 
 | 
static OptionID | 
OUTER_DISTANCE_FUNCTION_ID
Parameter to specify the distance function to determine the distance
 between database objects, must extend
  
LocallyWeightedDistanceFunction
 . | 
private ModifiableDBIDs | 
processedIDs
Holds a set of processed ids. 
 | 
private List<ModifiableDBIDs> | 
resultList
Holds 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>>