matlab - 在 Matlab 中为 KNN 选择 k

标签 matlab classification knn

我目前正在使用 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/

相关文章:

matlab - matlab中find()函数的反函数是什么

python - python中的K最近邻

python - 如何将 Datetime 和 int 功能与 Scikit learn 混合使用?

matlab - 如何检测二值图像中的曲线?

matlab - 将完整矩阵转换为完整矩阵很慢?

arrays - 将元胞矩阵转换为单行向量?

java - Java中半结构化数据的贝叶斯分类

python-2.7 - Python NLTK 命名实体识别取决于首字母的(大)写?

python - 在 keras.preprocessing.text 中使用 Tokenizer 时内存不足

java - 改变 kNN 算法中的 k 值 - Java