{:任务1失败 - "无法找到功能"knn""出错

Nan*_*ngo 0 windows parallel-processing r knn

我试图在R上运行并行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)
Run Code Online (Sandbox Code Playgroud)

Jos*_*ich 5

您需要调用library(class)每个节点.foreach通过.packages论证使这变得容易.

system.time(foreach( icount(countrows), .packages="class" ) %dopar% {
  summary(knn(train, test, cl, k=25, prob = TRUE))
})
Run Code Online (Sandbox Code Playgroud)

您可能还需要出口train,testcl.

system.time(
  foreach( icount(countrows), .packages="class",
           .export=c("train","test","cl") ) %dopar% {
    summary(knn(train, test, cl, k=25, prob = TRUE))
  }
)
Run Code Online (Sandbox Code Playgroud)