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

What is the default number of centroid, when we are using kknn in R?

当我在 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接受质心数的参数。

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

来自documentation

k: Number of neighbors considered.

默认值为 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