关于knn算法中kd树的问题

  统计/机器学习 监督式学习    浏览次数:3899        分享
0

kd树可以用来来找样本点的最近邻的点,但是k近邻算法需要找到这个样本点最近的前k个点,那么kd树和knn是如何一起使用的?

难道每次找到一个最近点后,删掉这个点再重新建一个kd树,接着再找一个最近点,直到找到k个点吗?

谢谢!

 

PyGeek   2018-08-29 21:35



   1个回答 
4

只需要建立一个kd tree。kd tree不会直接给出相邻点,只能减小相邻点的查找范围,减小两点间距离的计算量。如果是kNN,需要记录k个当前最相邻点,在遍历kd tree时把每个可能的点和这k个当前最相邻点比较并更新,直到达到root。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2018-11-08 01:15

明白了,谢谢回复 - PyGeek   2018-11-30 16:14


  相关讨论

lightgbm使用自定义损失函数后,二分类的预测结果不再是【0,1】区间

剪枝是什么意思

Extra Tree算法

决策树剪枝有什么策略或者注意事项?

怎么理解RandomForest中的max_features?

请问针对Adaboost、GBDT等集成学习同一个特征是否可以入模多次?

决策树的深度和数据特征个数的关系

随机森林中增加树的数量对于偏差和方差的影响

决策树算法ID3,C4.5和CART的特点、异同?

决策树可以做多元分类吗?

  随便看看

matplotlib画图怎么确保横坐标和纵坐标的单位长度一致?

plt.bar怎么设置每个bar的颜色?

wide-deep模型里的wide和deep分别是指什么意思?

特征归一化对K Means有影响吗?

概率论中的鞅是什么?