Distributed Processing¶
This mode assumes that the data set is split into nBlocks
blocks across computation nodes.
To compute DBSCAN algorithm in the distributed processing mode, use the general schema described in Algorithms as follows:
Step 1  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the \(n \times p\) numeric table with the observations to be clustered. Note The input can be an object of any class derived from NumericTable. 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the \(n \times 2\) numeric table containing information about observations: identifier of initial block and index in initial block. This information will be required to reconstruct initial blocks after transferring observations among nodes. Note By default, this result is an object of the 
Step 2  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing observations to be clustered. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the \(2 \times p\) numeric table containing bounding box of input observations: first row contains minimum value of each feature, second row contains maximum value of each feature. Note By default, this result is an object of the 
Step 3  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
The number of blocks that will process observations with value of selected split feature smaller than selected split value. 

Not applicable 
The number of blocks that will process observations with value of selected split feature greater than selected split value. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing observations to be clustered. Note The input can be an object of any class derived from 

Pointer to the collection of the \(2 \times p\) numeric tables containing bounding boxes computed on step 2 and collected from all nodes participating in current iteration of geometric repartitioning process. Note The numeric tables in collection can be an object of any class
derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the \(1 \times 2\) numeric table containing information about split for current iteration of geometric repartitioning. Note By default, this result is an object of the 
Step 4  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
The number of blocks that will process observations with value of selected split feature smaller than selected split value. 

Not applicable 
The number of blocks that will process observations with value of selected split feature greater than selected split value. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing observations to be clustered. Note The input can be an object of any class derived from 

Pointer to the collection of numeric table with \(2\) columns and arbitrary number of rows containing information about observations: identifier of initial block and index in initial block. Note The input can be an object of any class derived from 

Pointer to the collection of the \(1 \times 2\) numeric table containing information about split computed on step 3 and collected from all nodes participating in current iteration of geometric repartitioning process. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the collection of (
Note By default, this result is an object of the 
Step 5  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 

Not applicable 
The maximum distance between observations lying in the same neighborhood. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing observations to be clustered. Note The input can be an object of any class derived from 

Pointer to the collection of \(2 \times p\) numeric table containing bounding boxes computed on step 2 and collected from all nodes. Numeric tables in collection should be ordered by the identifiers of initial block of nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the collection of Numeric tables in the collection are ordered by the identifiers of initial block of nodes. 

Pointer to the collection of Numeric tables in the collection are ordered by the identifiers of initial block of nodes. 
Note
By default, this result is an object of the DataCollection
class.
The numeric tables in the collection can be an object of any class derived from NumericTable`
except for ``PackedTriangularMatrix
, PackedSymmetricMatrix
, and CSRNumericTable
.
Step 6  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 

Not applicable 
The maximum distance between observations lying in the same neighborhood. 

Not applicable 
The number of observations in a neighborhood for an observation to be considered as a core. 


If flag is set to false, all neighborhoods will be computed and stored prior to clustering. It will require up to \(O(\text{sum of sizes of neighborhoods})\) of additional memory, which in worst case can be \(O(\text{number of observations}^2)\). However, in general, performance may be better. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing observations to be clustered. Note The input can be an object of any class derived from 

Pointer to the collection of numeric tables with \(p\) columns and arbitrary number of rows, containing halo observations for current node computed on step 5. Note The input can be an object of any class derived from 

Pointer to the collection of numeric tables with \(1\) column and arbitrary number of rows, containing indices for halo observations for current node computed on step 5. Size of this collection should be equal to the size of collection for Note The input can be an object of any class derived from 

Pointer to the collection of \(1 \times 1\) numeric tables containing identifiers of initial block for halo observations for current node computed on step 5. Size of this collection should be equal to the size of collection for Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the flag indicating that the clustering process is finished for current node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the current number of clusters found on the local node. Note By default, this result is an object of the 

Pointer to the collection of Note By default, this result is an object of the 
Step 7  on Master Node¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:

In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of \(1 \times 1\) numeric table containing the flag indicating that the clustering process is finished collected from all nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the results and partial results described below.
Pass the Result ID
as a parameter to the methods that access the result and partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to \(1 \times 1\) numeric table containing the flag indicating that the clustering process is finished on all nodes. Note By default, this result is an object of the 
Step 8  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note The input can be an object of any class derived from 

Pointer to \(1 \times 1\) numeric tables containing the current number of clusters found on the local node. Note The input can be an object of any class derived from 

Pointer to the collection of numeric tables with \(3\) columns and arbitrary number of rows containing clustering queries that should be processed on the local node collected from all nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the flag indicating that the clustering process is finished for current node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the current number of clusters found on the local node. Note By default, this result is an object of the 

Pointer to the collection of Note By default, this result is an object of the 
Step 9  on Master Node¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:

In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of \(1 \times 1\) numeric table containing the number of clusters found on each node. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the results and partial results described below.
Pass the Result ID
as a parameter to the methods that access the result and partial result of your algorithm.
For more details, Algorithms.
Result ID 
Result 


Pointer to \(1 \times 1\) numeric table containing the number of clusters found on all nodes. Note By default, this result is an object of the 
Partial Result ID 
Result 


Pointer to the collection of \(1 \times 1\) numeric tables containing offsets for cluster numeration
for each node. Numeric tables with offsets are given in the same order as in the collection for Note By default, this result is an object of the 
Step 10  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note The input can be an object of any class derived from 

Pointer to \(1 \times 1\) numeric table containing the offset for cluster numeration on the local node computed on step 9. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the flag indicating that the clusters numeration process is finished for current node. Note By default, this result is an object of the 

Pointer to the collection of Note By default, this result is an object of the 
Step 11  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note The input can be an object of any class derived from 

Pointer to the collection of numeric tables with \(4\) columns and arbitrary number of rows containing clusters numeration queries that should be processed on the local node collected from all nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note By default, this result is an object of the 

Pointer to \(1 \times 1\) numeric table containing the flag indicating that the clusters numeration process is finished for current node. Note By default, this result is an object of the 

Pointer to the collection of Numeric tables in the collection are ordered by the identifiers of initial block of nodes. Note By default, this result is an object of the 
Step 12  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:


Not applicable 
Unique identifier of block initially passed for computation on the local node. 

Not applicable 
The number of blocks initially passed for computation on all nodes. 
In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the numeric table with \(4\) columns and arbitrary number of rows containing information about current clustering state of observations processed on the local node. Note The input can be an object of any class derived from 

Pointer to the collection of \(n \times 2\) numeric tables containing information about observations: identifier of initial block and index in initial block. This information will be required to reconstruct initial blocks after transferring observations among nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the partial results described below.
Pass the Partial Result ID
as a parameter to the methods that access the partial result of your algorithm.
For more details, Algorithms.
Partial Result ID 
Result 


Pointer to the collection of Numeric tables in the collection are ordered by the identifiers of initial block of nodes. 
Note
By default, this result is an object of the DataCollection
class.
The numeric tables in the collection can be an object of any class derived from NumericTable`
except for ``PackedTriangularMatrix
, PackedSymmetricMatrix
, and CSRNumericTable
.
Step 13  on Local Nodes¶
In this step, the DBSCAN algorithm has the following parameters:
Parameter 
Default Valude 
Description 



The floatingpoint type that the algorithm uses for intermediate computations. Can be 


Available methods for computation of DBSCAN algorithm:

In this step, 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, Algorithms.
Input ID 
Input 


Pointer to the collection of numeric tables with \(2\) columns and arbitrary number of rows containing clusters assigning queries that should be processed on the local node collected from all nodes. Note The input can be an object of any class derived from 
Algorithm Output¶
In this step, the DBSCAN algorithms calculates the results and partial results described below.
Pass the Result ID
as a parameter to the methods that access the result and partial result of your algorithm.
For more details, Algorithms.
Result ID 
Result 


Pointer to the \(n \times 1\) numeric table with assignments of cluster indices to observations processed on step 1 on the local node. Noise observations have the assignment equal to \(1\). Note By default, this result is an object of the 
Partial Result ID 
Result 


Pointer to the numeric table with \(2\) columns and arbitrary number of rows containing clusters assigning queries that should be processed on the local node. Note By default, this result is an object of the 