mlpack_range_search - range search


mlpack_range_search [-h] [-v]


This program implements range search with a Euclidean distance metric. For a given query point, a given range, and a given set of reference points, the program will return all of the reference points with distance to the query point in the given range. This is performed for an entire set of query points. You may specify a separate set of reference and query points, or only a reference set -- which is then used as both the reference and query set. The given range is taken to be inclusive (that is, points with a distance exactly equal to the minimum and maximum of the range are included in the results).

For example, the following will calculate the points within the range [2, 5] of each point in ’input.csv’ and store the distances in ’distances.csv’ and the neighbors in ’neighbors.csv’:

$ range_search --min=2 --max=5 --reference_file=input.csv --distances_file=distances.csv --neighbors_file=neighbors.csv

The output files are organized such that line i corresponds to the points found for query point i. Because sometimes 0 points may be found in the given range, lines of the output files may be empty. The points are not ordered in any specific manner.

Because the number of points returned for each query point may differ, the resultant CSV-like files may not be loadable by many programs. However, at this time a better way to store this non-square result is not known. As a result, any output files will be written as CSVs in this manner, regardless of the given extension.


--help (-h) [bool]

Default help info. Default value 0.

--info [string]

Get help on a specific module or option. Default value ’’. --input_model_file (-m) [string] File containing pre-trained range search model. Default value ’’.

--leaf_size (-l) [int]

Leaf size for tree building (used for kd-trees, vp trees, random projection trees, UB trees, R trees, R* trees, X trees, Hilbert R trees, R+ trees, R++ trees, and octrees). Default value


--max (-U) [double]

Upper bound in range (if not specified, +inf will be used. Default value 0.

--min (-L) [double]

Lower bound in range. Default value 0.

--naive (-N) [bool]

If true, O(n^2) naive mode is used for computation. Default value 0.

--query_file (-q) [string]

File containing query points (optional). Default value ’’.

--random_basis (-R) [bool]

Before tree-building, project the data onto a random orthogonal basis. Default value 0. --reference_file (-r) [string] Matrix containing the reference dataset. Default value ’’.

--seed (-s) [int]

Random seed (if 0, std::time(NULL) is used). Default value 0.

--single_mode (-S) [bool]

If true, single-tree search is used (as opposed to dual-tree search). Default value 0.

--tree_type (-t) [string]

Type of tree to use: ’kd’, ’vp’, ’rp’, ’max-rp’, ’ub’, ’cover’, ’r’, ’r-star’, ’x’, ’ball’, ’hilbert-r’, ’r-plus’, ’r-plus-plus’, ’oct’. Default value ’kd’.

--verbose (-v) [bool]

Display informational messages and the full list of parameters and timers at the end of execution. Default value 0.

--version (-V) [bool]

Display the version of mlpack. Default value



--distances_file (-d) [string] File to output distances into. Default value ’’. --neighbors_file (-n) [string] File to output neighbors into. Default value ’’. --output_model_file (-M) [string] If specified, the range search model will be saved to the given file. Default value ’’.



For further information, including relevant papers, citations, and theory, For further information, including relevant papers, citations, and theory, consult the documentation found at or included with your consult the documentation found at or included with your DISTRIBUTION OF MLPACK. DISTRIBUTION OF MLPACK.