首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >KD树:“叶大小”参数的含义

KD树:“叶大小”参数的含义
EN

Stack Overflow用户
提问于 2020-08-30 07:55:00
回答 1查看 767关注 0票数 3

我正在看SciPy的KD树实现。我对leafsize参数感到困惑,据说它是

算法切换到蛮力的点数。违约: 16。

这是BST的叶子数吗?如果是这样的话,这意味着默认情况下,KD树将包含不超过32分。这似乎是不合理的小,特别是对于我的用例k=2。我是否不正确地解释参数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-31 13:56:55

参数leafsize并不控制树中的最大叶数(这是无界的),而是与树中的单个叶相关联的输入点数。考虑将64点添加到树中。如果每个点与一片叶子相关联,您将得到一棵七层深的完整树,任何需要点的处理都会下降到这七个层次来找到它。或者,如果叶子的大小是16,你会得到一棵树只有3层深,树中的每一片叶子都与16分相关联。处理一个点需要降低树的三个层次,然后测试叶子上的16个点(因为它们是无序的)。可以根据性能对此值进行调优,并且在经验上,最佳值取决于树的确切使用方式。

从概念上讲,这里是为不同leafsize值构建的树的一个示例。

您可以看到leafsize参数是如何在枕木源代码中短路树构建过程的.这将在树的叶子中的leafsize/2leafsize点之间留下无序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63655219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档