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