【问题标题】:kknn classification: how to determine the value of kmax?kknn分类:如何确定kmax的值?
【发布时间】:2019-08-21 13:28:53
【问题描述】:

如何确定要使用的 kmax 值?当我消除它时,R 会打印一条错误消息,当我添加它时,R 会打印另一条错误消息。我不停地四处走动,这无处可去。这些消息令人困惑。我在 stackoverflow 上查看了类似的问题,但没有看到类似的问题,因此提出了这个问题。你知道为什么kmax = 7 不正确吗?我如何知道 kmax 的正确值是多少?感谢您的任何帮助,您可以提供。

#works
output1 <- train.kknn( as.factor(myParam)~., data <- trainingData)
output1

#works
output1 <- train.kknn( as.factor(myParam)~., data <- trainingData, distance <- 2)
output1

# does not work
#error message: Error in train.kknn(as.factor(myParam) ~ ., data <- trainingData, kmax <- 7,  : 
  NA/NaN/Inf in foreign function call (arg 9)
In addition: Warning message:
In train.kknn(as.factor(myParam) ~ ., data <- trainingData, kmax <- 7,  :  
NAs introduced by coercion

output1 <- train.kknn( as.factor(myParam)~.,  data <- trainingData, kmax <- 7, distance <- 2,kernel <- "rectangular")
output1


# does not work, 
# error message: Error in kmax + 2L : non-numeric argument to binary operator

output1 <- train.kknn( as.factor(myParam)~., data <- trainingData,  distance <- 2, kernel <- "rectangular")
output1

我需要这个来工作:

output1 <- train.kknn( as.factor(myParam)~.,  data <- trainingData,
                     kmax <- ???,    <-  whatever this value should be
                     distance <- 2, kernel <- "rectangular")
output1

【问题讨论】:

  • KNN 需要所有数字(不是因子、虚拟变量、指标等)变量。至少,这就是您的最新消息所表明的。
  • 你是对的,我想这就是强制发生的原因。谢谢你帮我看这个。
  • 如何将您的评论标记为解决方案?

标签: r classification knn


【解决方案1】:

lmo 的回应就是答案谢谢 lmo 帮助我看到光明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-30
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2011-04-15
    • 2020-02-07
    相关资源
    最近更新 更多