我正在使用 Matlab 的 k 最近邻分类器 (
knnclassify
) 来训练和测试二元属性。 如果未提供 k 的默认值参数,则为 1,并且可以选择 k 的其他值。 我已经在网上和 stackoverflow 上进行了研究,但没有任何相关的内容可以解决我的问题,即 k 的值是多少才是最好的。 是否有一个内置函数可以告诉我对于我的特定数据,或者它只是猜测并等待查看得出的准确性?
这里是 matlab 的 knnclassify 文档的链接:knnclassify
这里是一个典型的模型选择问题。您想要的是选择为您的数据提供最低总体误差的
k
。 k 值越大泛化效果越好,而较小的值可能会过度拟合。
因此,交叉验证是选择这个参数的好方法,我找到了这篇文章,这似乎是一个合理的方法。