插入符包中的 knn3,train() 函数 - R

knn3 in caret package, train() function - R

我正在尝试 运行 具有 train() 功能的 knn 和 knn3 方法:

model_KNN <- train(Y ~ ., training, method = "knn3", trControl = trainControl(
method = "cv", number = 10, verboseIter = TRUE)

但是,它给了我下一个错误:

Error: Model knn3 is not in caret's built-in library

而且我已经安装了这样的插入符包(它也适用于我的其他功能):

install.packages("caret")
library(caret)

你还可以在train()函数中看到方法knn3https://www.rdocumentation.org/packages/caret/versions/4.18/topics/train

而且它不起作用。为什么?

看起来您正在查看旧版本的包文档 (4.18),但很可能 运行正在 latest version (6.0-79)

似乎 knn3 可能在某个时候被重命名为 knn,尽管除了 knn3 丢失并替换为 knn.

您可以 运行 names(getModelInfo()) 获取可用于 model 参数的不同参数的列表。还有一个找到的模型列表 here