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

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

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

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

 

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



   2个回答 
3

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


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

Zealing   2018-09-19 11:11

2

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

u_u   2018-09-19 09:11



  相关主题

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

SVM里的软间隔是什么意思   2回答

支持向量机(SVM)里的支持向量是什么意思   6回答

关于方差和偏差和噪声   1回答

为什么说knn是惰性算法   1回答

欠采样后概率还原问题   2回答

knn推导过程中的一个细节   2回答

adaboost里的learning rate是什么意思?   1回答

有序多分类问题   2回答

k-NN的k取1会怎么样   4回答

线性可分是什么意思?   1回答

SVM的支持向量最少有几个?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!