level_set_tree.construct_tree¶
-
level_set_tree.
construct_tree
(X, k, prune_threshold=None, num_levels=None, verbose=False)¶ Construct a level set tree from tabular data.
Parameters: X : 2-dimensional numpy array
Numeric dataset, where each row represents one observation.
k : int
Number of observations to consider as neighbors to a given point.
prune_threshold : int, optional
Leaf nodes with fewer than this number of members are recursively merged into larger nodes. If ‘None’ (the default), then no pruning is performed.
num_levels : int, optional
Number of density levels in the constructed tree. If None (default), num_levels is internally set to be the number of rows in X.
verbose : bool, optional
If True, a progress indicator is printed at every 100th level of tree construction.
Returns: T : LevelSetTree
A pruned level set tree.
See also
Examples
>>> X = numpy.random.rand(100, 2) >>> tree = debacl.construct_tree(X, k=8, prune_threshold=5) >>> print(tree) +----+-------------+-----------+------------+----------+------+--------+----------+ | id | start_level | end_level | start_mass | end_mass | size | parent | children | +----+-------------+-----------+------------+----------+------+--------+----------+ | 0 | 0.000 | 0.870 | 0.000 | 0.450 | 100 | None | [3, 4] | | 3 | 0.870 | 3.364 | 0.450 | 0.990 | 17 | 0 | [] | | 4 | 0.870 | 1.027 | 0.450 | 0.520 | 35 | 0 | [7, 8] | | 7 | 1.027 | 1.755 | 0.520 | 0.870 | 8 | 4 | [] | | 8 | 1.027 | 3.392 | 0.520 | 1.000 | 23 | 4 | [] | +----+-------------+-----------+------------+----------+------+--------+----------+