我试图在相当大的数据集上使用scikit Learn中的k个最近邻居实现。问题在于,预测需要很长时间,几乎与没有意义的训练一样长。这是算法的问题,还是scikit learning不是针对大型数据集(不支持GPU)的事实。

有关更多信息,我尝试基于x,y,z和对象标签预测激光雷达强度​​。每次激光雷达扫描都有大约100,000个点,因此我试图预测每个点的强度。

最佳答案

尝试使scikit-learn的KNeighborsClassifier运行更快的事情:


不同的algorithm参数:kd_treeball_tree用于低维数据,brute用于高维数据
n_jobs参数。使用较大的n_jobs并不一定会使速度更快,有时反之亦然。
确保您使用的是最新版本:v0.22中的性能已得到改进,并且某些尚未合并的优化(scikit-learn#14543
使用外部近似最近邻居库(例如Annoy)以及使用metric="precomputed"预先计算的稀疏距离

关于python - k个最近邻居的回归本质上是缓慢的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59178717/

10-12 18:03