从R。
中的compute()
包运行neuralnet
时收到错误
是否因为数据大小而发生?我无法弄清楚确切的问题。
df2 <- read.csv("data.csv")
train_df <- df2[1:3200,]
test_df <- df2[3201:4004,]
n <- names(train_df)
f <- as.formula(paste("tenure ~", paste(n[!n %in% "tenure"], collapse =
"+")))
model2 <- neuralnet(f,train_df, hidden=3, threshold=0.01, linear.output=T)
summary(model2)
#Output
Length Class Mode
call 6 -none- call
response 3200 -none- numeric
covariate 4118400 -none- numeric
model.list 2 -none- list
err.fct 1 -none- function
act.fct 1 -none- function
linear.output 1 -none- logical
data 1288 data.frame list
net.result 1 -none- list
weights 1 -none- list
startweights 1 -none- list
generalized.weights 1 -none- list
result.matrix 3871 -none- numeric
results <- compute(model2, test_df)
#Error
Error in UseMethod("compute"): no applicable method for 'compute' applied
to an object of class "nn"
Traceback:
1. compute(model2, test_df)
P.S:数据列是数字。
答案 0 :(得分:6)
您使用的功能错误。试试results <- neuralnet::compute(model2, test_df)
。
<强>推理强>
错误表明它使用了行UseMethod("compute")
。 neuralnet::compute
中没有此行代码。因此,您似乎正在使用其他程序包中的compute
。当您加载neuralnet
包后跟另一个包含compute
函数的包(如dplyr
包)时,可能会发生这种情况。您可以使用::
:neuralnet::compute
。