关于 KNN 算法的最佳 K 值选取问题

最近接触了一点点 KNN 算法的知识,大概总结了一下近邻算法主要过程:1. 计算训练样本和测试样本中每个样本点的距离
2. 对上面所有的距离值进行排序
3. 选前 k 个最小距离的样本
4. 根据这 k 个样本的标签进行投票,得到最后的分类类别
k 值选取合适与否对最终的分类结果会产生影响,请教一下大家如何才能选取较为合适(或最佳)的 K 值呢?有哪些算法或数学思想作参考呢?


dong 2018-5-13 17:10:05

K 值是经验值,不同样本构建的模型 K 值几乎都不同,遇的较多的好像是设置成 5。这其实也是参数优化,你可以用寻优算法迭代找寻最优 K 值。细菌觅食,蚁群啊什么的群智算法都行。


M 丶 Sulayman 发表于 2018-5-13 18:20:07

可以使用超参数搜索,自动识别出最佳参数


北海 发表于 2018-5-15 14:25:27

一般都是分成 train set 和 test set 然后利用建立在训练样本集上的预测模型,对测试样本集做预测并计算其预测误差


neverchange 发表于 2018-7-4 13:17:11