Developer Guide

Contents

Batch Processing

Algorithm Parameters

The DBSCAN clustering algorithm has the following parameters:
Parameter
Default Value
Descriptions
algorithmFPType
float
The floating-point type that the algorithm uses for intermediate computations. Can be
float
or
double
.
method
defaultDense
Available methods for computation of DBSCAN algorithm:
  • defaultDense
    – uses brute-force for neighborhood computation
epsilon
Not applicable
The maximum distance between observations lying in the same neighborhood.
minObservations
Not applicable
The total weights of observations in a neighborhood for an observation to be considered as a core one.
memorySavingMode
false
If flag is set to false, all neighborhoods will be computed and stored prior to clustering. It will require up to O(|sum of sizes of neighborhoods of all observation|) additional memory, which in worst case can be O(|number of observations|^2). However, in common case performance may be better.
resultsToCompute
0
The 64-bit integer flag that specifies which extra characteristics of the DBSCAN to compute.
Provide one of the following values to request a single characteristic or use bitwise OR to request a combination of the characteristics:
  • computeCoreIndices
    for indices of core observations
  • computeCoreObservations
    for core observations

Algorithm Input

The DBSCAN algorithm accepts the input described below. Pass the Input ID as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms.
Input ID
Input
data
Pointer to the
n
x
p
numeric table with the data to be clustered. The input can be an object of any class derived from
NumericTable
.
weights
Optional input. Pointer to the
n
x 1 numeric table with weights of observations.
The input can be an object of any class derived from
NumericTable
except
PackedTriangularMatrix
,
PackedSymmetricMatrix
. By default all weights are equal to 1.

Algorithm Output

The DBSCAN algorithms calculates the results described below. Pass the Result ID as a parameter to the methods that access the result of your algorithm. For more details, see Algorithms.
Result ID
Result
assignments
Pointer to the
n
x 1 numeric table with assignments of cluster indices to observations in the input data. Noise observations have the assignment equal to -1.
nClusters
Pointer to the 1 x 1 numeric table with the total number of clusters found by the algorithm.
coreIndices
Pointer to the numeric table with 1 column and arbitrary number of rows, containing indices of core observations.
coreObservations
Pointer to the numeric table with
p
columns and arbitrary number of rows, containing core observations
By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable except PackedTriangularMatrix, PackedSymmetricMatrix, and CSRNumericTable.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804