在 Python 中优化 kd-tree 运行时的最佳方法是什么?

问题描述

我目前正在使用 Python 的 scipy.spatial.kdtree 在两个大型地球科学数据集之间执行最近邻查找。一个是附有特定纬度/经度的风暴报告集合;另一个是包含美国一半土地利用数据的 1x1 公里网格数据。

我对类似的数据集执行了 kd-tree 操作,这些数据集大约有 4.4 * 10 ^ 7 个点可以在 kd-tree 中排序,并且在大约 160 秒内成功排序;但是,当我尝试使用此数据集构建 kd 树时(大约有 1.6 * 10 ^ 8 个要排序的点),我的内核只是超时。我知道 kd-tree 在 Olog(n) 运行时运行,尽管我不太熟悉 big-O 表示法的精细工作,所以我不确定这是否会导致指数增长在运行时。

这可能是由于在构建 kd-tree 之前可以通过更好的数据分区来优化机器超时,还是这似乎有点侥幸?

提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...