multidim.covertree.CoverLevel¶
-
class
multidim.covertree.CoverLevel(covertree, exponent)[source]¶ A thin class to represent one level of the filtration in a
CoverTree. A CoverLevel is essentially a collection of dictionaries of adults, friends, children, and other attributes of a particular level.The various attributes have different orderings, optimized for typical usage and minimal algorithmic complexity.
Notes
The user should never create a CoverLevel directly. Instead, create a CoverTree and access its \(i^{\text{th}}\) level with
covertree[i].Attributes: - covertree :
CoverTree The CoverTree to which this CoverLevel belongs.
- pointcloud :
multidim.PointCloud The PointCloud used to make the CoverTree
- exponent : int
The exponent (that is, index or depth or level) of this CoverLevel in the CoverTree.
- radius :
numpy.float64 The ball radius
- T1 :
numpy.float64 The type-1 friends radius
- T2 :
numpy.float64 The type-2 friends radius
- T3 :
numpy.float64 The type-3 friends radius
- adults : list
List of adult indices, in order they were born
- friends1 :
collections.OrderedDict An ordered dictionary to keep track of type-1 friends. Keyed by the adults, in birth order. The values are lists, in index order.
- friends2 :
collections.OrderedDict An ordered dictionary to keep track of type-2 friends. Keyed by the adults, in birth order. The values are lists, in index order.
- friends3 :
collections.OrderedDict An ordered dictionary to keep track of type-3 friends. Keyed by the adults, in birth order. The values are lists, in index order.
- guardians :
numpy.ndarray An array of
numpy.int64, which keeps track of the guardians of each point in the underlyingPointCloud. Adults are their own guardians.- predecessor :
collections.OrderedDict An ordered dictionary to keep track of predecessors of the adults. Keyed by the adults, in birth order. The values are the indices of adults at the previous
CoverLevel.- successors :
collections.OrderedDict An ordered dictionary to keep track of predecessors of the adults. Keyed by the adults, in birth order. The values are NumPy arrays of indices of adults in the next
CoverLevel. This is computed only at the next level!- children :
collections.OrderedDict An ordered dictionary to keep track of children1 friends, keyed by the adults, in birth order. The values are NumPy boolean arrays, which allows for easy extraction of subsets of children.
- weights :
collections.OrderedDict An ordered dictionary to keep track of total weight of children, keyed by the adults, in birth order. The values are NumPy arrays, with one entry per label. This is computed as part of
cleanup()- entropy :
collections.OrderedDict An ordered dictionary to keep track of overall entropy of children, keyed by the adults, in birth order. The values are
numpy.float64numbers, of overall entropy of weights across labels. This is computed and stored viamultidim.models.CDER, but it otherwise unused.
CoverLevel.check()Perform basic sanity checks on children, friends, etc. CoverLevel.cleanup()Internal method – remove duplicate friends, and compute weights and entropy. CoverLevel.find_entropy(adult)Compute the entropy of the labelled children on an adult. CoverLevel.find_label_weights(adult)Compute the weights of labelled children of an adult. CoverLevel.plot(canvas[, show_balls, …])Plot a single level of a CoverTreeCoverLevel.plot_data_title([show_balls, …])Internal method – Make source data for plot. - covertree :