当我们在 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
。
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
当我在 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
。
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