K近邻算法(kNN)如何实现并行计算?

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

我在用sklearn.neighbors.KNeighborsClassifier,发现可以设置n_jobs,这是并行计算的参量。

那么kNN是怎么实现并行计算的呢?

 

一棵海草   2018-09-16 06:40



   2个回答 
4

我理解是sklearn只用了比较低级的kNN并行计算。在fit数据时(比如建立kdtree),并没有用到并行计算。只在predict()时才会用多个CPU去找。


至于用Map recude的kNN可以看   http://www.cs.utah.edu/~lifeifei/knnj/

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

Zealing   2018-09-19 11:11

3

可以利用类似于Map Reduce的思想:把训练集分成很多小块,求测试样本和每个小块里的样本的距离,然后再把结果汇总。

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

u_u   2018-09-19 09:11



  相关讨论

如何生成一个二元分类的数据集?

FM算法(因子分解机)有专门的算法框架吗?

python里如何实现线性判别分析(LDA)?

怎么理解platt scaling?

adaboost里的learning rate是什么意思?

kNN的k=1为什么训练误差为0?

关于方差和偏差和噪声

为什么LR要用Sigmoid函数?

knn推导过程中的一个细节

MLR分片模型是什么模型?

  随便看看

随机森林会发生过拟合(overfitting)吗?

sklearn分类模型中预测结果怎么调整概率的阈值

医学统计里的c-index或者c-statistic是什么意思?

怎么利用permutation importance来解释xgboost模型的特征?

柯西分布没有数学期望