找到KNN for statement的最佳值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了找到KNN for statement的最佳值相关的知识,希望对你有一定的参考价值。

我试图写一个for语句来找到KNN中的最佳值k。不幸的是,我现在尝试了几次我的代码片段,但似乎它没有计算出正确的值。你知道这个陈述有什么问题吗?

# Tune the value of K using K-Fold Cross Validation
bestaccuracy = 0
bestaccuracy
n.folds <- 100
for (k in 1:n.folds) {
set.seed(1)
knn.cvac <- knn.cv(train= x.australian.stan, cl= y.australian, k=k)
knn.cvac.table <- table (knn.cvac, y.australian)
knn.cvac.accuracy <- sum(diag(knn.cvac.table))/sum(knn.cvac.table)
if(bestaccuracy< knn.cvac.accuracy) bestk=k
if(bestaccuracy< knn.cvac.accuracy) bestaccuracy = knn.cvac.accuracy}
print(bestk)
print(bestaccuracy)
答案

我在一些基于仿真的数据上进行了测试,它运行得很好!唯一需要注意的是,您可能有不同的Ks,您可以获得最高的准确度,并打印最大的K(因为它的编码方式)。

也许您可以将代码行更改为:

if(bestaccuracy< knn.cvac.accuracy) bestk=c(bestk, k)

因此,当您打印bestk时,您可以看到所有最佳Ks。

以上是关于找到KNN for statement的最佳值的主要内容,如果未能解决你的问题,请参考以下文章

KNN分类器最近邻分类KD树KNN分类的最佳K值基于半径的最近邻分类器KNN多分类KNN多标签分类KNN多输出分类KNN分类的优缺点

如何定义kNN分类器的最大k?

KNN(K Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践

第二节课-Data-driven approach:KNN和线性分类器分类图片

用于分类的 kNN 中的理想 k 值

matlab中的KNN算法