错误{:任务1失败 - “无法找到函数‘KNN’”
问题描述:
我试图运行R上的并行k近邻程序,但我得到这个错误:错误{:任务1失败 - “无法找到函数‘KNN’”
错误{:任务1失败 - “找不到功能“KNN””
这是程序:
library(class)
library(doSNOW)
library(foreach)
train <- read.csv('train.csv')
test <- read.csv('test.csv')
trainY <- read.csv('trainY.csv')
cl <- as.vector(as.matrix(trainY))
system.time(summary(knn(train, test, cl, k=25, prob = TRUE)))
clus <- makeCluster(4)
registerDoSNOW(clus)
countrows=nrow(test)
system.time(foreach(icount(countrows)) %dopar% {
summary(knn(train, test, cl, k=25, prob = TRUE))
})
stopCluster(clus)
答
你需要调用每个节点上的library(class)
。 foreach
通过参数.packages
可以轻松实现。
system.time(foreach(icount(countrows), .packages="class") %dopar% {
summary(knn(train, test, cl, k=25, prob = TRUE))
})
您可能还需要出口train
,test
和cl
。
system.time(
foreach(icount(countrows), .packages="class",
.export=c("train","test","cl")) %dopar% {
summary(knn(train, test, cl, k=25, prob = TRUE))
}
)