找到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 Nearest Neighbors)分类是什么学习方法?如何或者最佳的K值?RadiusneighborsClassifer分类器又是什么?KNN进行分类详解及实践