我想优化KNN。虽然关于SVM、RF和XGboost的信息很多,但关于KNN的却很少。
据我所知,邻居的数量是一个需要调整的参数。
但是还有哪些其他参数需要测试呢?有没有好的文章推荐?
谢谢
回答:
KNN是一种非常简单的算法,除了K之外几乎没有什么可调的。整个方法实际上就是:
对于给定的测试样本x: - 根据相似度度量s从训练集中找出K个最相似的样本 - 返回上述集合中类别的多数票
因此,除了K之外,定义KNN的唯一东西就是相似度度量s,仅此而已。这个算法真的只有三行伪代码,所以没有其他可调的部分。另一方面,寻找“最佳相似度度量”与学习分类器本身一样困难,因此没有真正的方法来做到这一点,人们通常会使用一些简单的东西(如欧几里得距离),或者利用他们的领域知识来适应手头的问题调整s。