Module « scipy.spatial »
Classe « cKDTree »
Informations générales
Héritage
builtins.object
cKDTree
Définition
class cKDTree(builtins.object):
Description [extrait de cKDTree.__doc__]
cKDTree(data, leafsize=16, compact_nodes=True, copy_data=False,
balanced_tree=True, boxsize=None)
kd-tree for quick nearest-neighbor lookup
This class provides an index into a set of k-dimensional points
which can be used to rapidly look up the nearest neighbors of any
point.
.. note::
`cKDTree` is functionally identical to `KDTree`. Prior to SciPy
v1.6.0, `cKDTree` had better performance and slightly different
functionality but now the two names exist only for
backward-compatibility reasons. If compatibility with SciPy < 1.6 is not
a concern, prefer `KDTree`.
Parameters
----------
data : array_like, shape (n,m)
The n data points of dimension m to be indexed. This array is
not copied unless this is necessary to produce a contiguous
array of doubles, and so modifying this data will result in
bogus results. The data are also copied if the kd-tree is built
with copy_data=True.
leafsize : positive int, optional
The number of points at which the algorithm switches over to
brute-force. Default: 16.
compact_nodes : bool, optional
If True, the kd-tree is built to shrink the hyperrectangles to
the actual data range. This usually gives a more compact tree that
is robust against degenerated input data and gives faster queries
at the expense of longer build time. Default: True.
copy_data : bool, optional
If True the data is always copied to protect the kd-tree against
data corruption. Default: False.
balanced_tree : bool, optional
If True, the median is used to split the hyperrectangles instead of
the midpoint. This usually gives a more compact tree and
faster queries at the expense of longer build time. Default: True.
boxsize : array_like or scalar, optional
Apply a m-d toroidal topology to the KDTree.. The topology is generated
by :math:`x_i + n_i L_i` where :math:`n_i` are integers and :math:`L_i`
is the boxsize along i-th dimension. The input data shall be wrapped
into :math:`[0, L_i)`. A ValueError is raised if any of the data is
outside of this bound.
Notes
-----
The algorithm used is described in Maneewongvatana and Mount 1999.
The general idea is that the kd-tree is a binary tree, each of whose
nodes represents an axis-aligned hyperrectangle. Each node specifies
an axis and splits the set of points based on whether their coordinate
along that axis is greater than or less than a particular value.
During construction, the axis and splitting point are chosen by the
"sliding midpoint" rule, which ensures that the cells do not all
become long and thin.
The tree can be queried for the r closest neighbors of any given point
(optionally returning only those within some maximum distance of the
point). It can also be queried, with a substantial gain in efficiency,
for the r approximate closest neighbors.
For large dimensions (20 is already large) do not expect this to run
significantly faster than brute force. High-dimensional nearest-neighbor
queries are a substantial open problem in computer science.
Attributes
----------
data : ndarray, shape (n,m)
The n data points of dimension m to be indexed. This array is
not copied unless this is necessary to produce a contiguous
array of doubles. The data are also copied if the kd-tree is built
with `copy_data=True`.
leafsize : positive int
The number of points at which the algorithm switches over to
brute-force.
m : int
The dimension of a single data-point.
n : int
The number of data points.
maxes : ndarray, shape (m,)
The maximum value in each dimension of the n data points.
mins : ndarray, shape (m,)
The minimum value in each dimension of the n data points.
tree : object, class cKDTreeNode
This attribute exposes a Python view of the root node in the cKDTree
object. A full Python view of the kd-tree is created dynamically
on the first access. This attribute allows you to create your own
query functions in Python.
size : int
The number of nodes in the tree.
Constructeur(s)
Liste des attributs statiques
boxsize | <attribute 'boxsize' of 'scipy.spatial.ckdtree.cKDTree' objects> |
data | <attribute 'data' of 'scipy.spatial.ckdtree.cKDTree' objects> |
indices | <attribute 'indices' of 'scipy.spatial.ckdtree.cKDTree' objects> |
leafsize | <attribute 'leafsize' of 'scipy.spatial.ckdtree.cKDTree' objects> |
m | <attribute 'm' of 'scipy.spatial.ckdtree.cKDTree' objects> |
maxes | <attribute 'maxes' of 'scipy.spatial.ckdtree.cKDTree' objects> |
mins | <attribute 'mins' of 'scipy.spatial.ckdtree.cKDTree' objects> |
n | <attribute 'n' of 'scipy.spatial.ckdtree.cKDTree' objects> |
size | <attribute 'size' of 'scipy.spatial.ckdtree.cKDTree' objects> |
tree | <attribute 'tree' of 'scipy.spatial.ckdtree.cKDTree' objects> |
Liste des opérateurs
Opérateurs hérités de la classe object
__eq__,
__ge__,
__gt__,
__le__,
__lt__,
__ne__
Liste des méthodes
Toutes les méthodes
Méthodes d'instance
Méthodes statiques
Méthodes dépréciées
Méthodes héritées de la classe object
__delattr__,
__dir__,
__format__,
__getattribute__,
__hash__,
__init_subclass__,
__reduce__,
__reduce_ex__,
__repr__,
__setattr__,
__sizeof__,
__str__,
__subclasshook__
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :