当我在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
接受了质心数的论证。
答案 0 :(得分:0)
根据kknn
包的文档,有一个参数来确定质心的数量,即参数k
。
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