我们应该如何解释$k-NN$分类器中$k$的值,特别是$k=1$是什么意思?对 ML 新手或参考的任何解释将不胜感激!
在 Knn 或 K 最近邻(用于分类)中,我们的想法是我们使用
k
“最近”点通过查看训练数据中的哪些点最接近我们的样本来对样本进行分类。
scikit-learn
的简短描述:
最近邻方法背后的原理是找到一个预定义的 距离新点最近的训练样本数,以及 从这些预测标签。样本数量可以是 用户定义的常量(k-最近邻学习),或基于 点的局部密度(基于半径的邻居学习)。这 一般来说,距离可以是任何度量标准:标准欧几里德 距离是最常见的选择。基于邻居的方法是已知的 作为非泛化机器学习方法,因为它们只是 “记住”它所有的训练数据。
在k-NN分类中,
k
表示问题的类数。
您不要将它解释为算法的参数,您需要清楚地知道您想要什么
k
或猜测它。一种常见的技术是使用 k=sqrt(n)
其中 n 是样本数。
使用
k=1
没有分类,因为所有值都属于同一类,算法变得微不足道。
关于
k
的值的讨论见这个问题k最近邻算法中k的值