当我们在R中使用kknn时,质心的默认数量是多少?

时间:2015-03-09 01:27:22

标签: r classification

当我在R中学习kknn时,我遇到了IRIS数据示例,我发现kknn没有采用任何质心数的论证。

require(kknn)
data(iris)
m <- dim(iris)[1]
val <- sample(1:m, size = round(m/3), replace = FALSE, prob = rep(1/m, m)) 
iris.learn <- iris[-val,]   # train
iris.valid <- iris[val,]    # test
iris.kknn <- kknn(Species~., iris.learn, iris.valid, distance = 1, kernel ="triangular")

它如何优化质心数?

我记得knn接受了质心数的论证。

1 个答案:

答案 0 :(得分:0)

根据kknn包的文档,有一个参数来确定质心的数量,即参数k

来自documentation

  

k:考虑的邻居数量。

默认值为7个质心。你可以写成:

require(kknn)
data(iris)
m <- dim(iris)[1]
val <- sample(1:m, size = round(m/3), replace = FALSE, prob = rep(1/m, m)) 
iris.learn <- iris[-val,]   # train
iris.valid <- iris[val,]    # test
iris.kknn <- kknn(Species~., iris.learn, iris.valid, 
                  distance = 1, kernel ="triangular", k=7)
#you can add whichever number you want above