我正在从R caret包和2000个条目的数据集中训练具有训练功能的kNN模型。我使用了以下代码:
set.seed(400)
ctrl <- trainControl(method="none")
knnFit <- train(Class ~ ., data = ScaniaTrain, method = "knn", trControl = ctrl, tuneLength = 1)
但是R不断崩溃。如何改善此功能的性能?
答案 0 :(得分:1)
KNN的成本很高,如果您的数据中有很多列(或者如果您有很多分类变量可以将插入符号扩展为底层的虚拟变量),则可能无法训练模型。
您可以尝试将k
参数设置为较低的值,并查看其是否有效:
knnFit <- train(
Class ~ .,
data = ScaniaTrain,
method = "knn",
trControl = ctrl,
tuneGrid = c(k=3)
)