如何从 Ball Tree 获取质心?

问题描述 投票:0回答:1

根据 scikit-learn 文档,他们的

sklearn.neighbors.BallTree

递归地将数据划分为由质心 C 和半径 r 定义的节点,使得节点中的每个点都位于由 C 和 r 定义的超球面内。

有没有办法,给定一个

BallTree
实例,提取这些质心而不重新计算它们?
get_arrays()
方法公开每个节点包含的半径和数据点,但不公开质心。在欧几里得空间中,可以通过平均每个节点中的所有数据点来轻松计算质心,但这在其他指标中变得更加困难。此外,如果
BallTree
实例已经在内部完成了此计算,那么用户似乎没有必要执行此计算。

python scikit-learn nearest-neighbor
1个回答
0
投票

get_arrays
方法结果中的最后一个数组是“节点边界”数组,其中包含质心:

node_bounds :包含节点边界信息的 [* x n_nodes x n_features] 数组。对于球树,第一维为1,每行包含节点的质心。 [...]

[

来源]

© www.soinside.com 2019 - 2024. All rights reserved.