gpt4 book ai didi

r - 使用方法错误("compute"): no applicable method for 'compute' applied to an object of class "nn"

转载 作者:行者123 更新时间:2023-12-01 19:55:34 24 4
gpt4 key购买 nike

从 R 中的 neuralnet 包运行 compute() 时出现错误。

这是因为数据大小而发生的吗?我无法弄清楚确切的问题。

 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:数据列是数字。

最佳答案

回答

您加载了多个包含 compute 函数的包,因此您使用了错误的包。强制使用neuralnet包中的compute:

results <- neuralnet::compute(model2, test_df)

推理

错误表明它使用了UseMethod("compute")行。这行代码不存在于neuralnet::compute中。因此,您似乎正在使用来自不同包的compute。当您加载neuralnet 包,然后加载另一个包含compute 函数的包(如dplyr 包)时,可能会发生这种情况。您可以使用 :: 来避免这种情况:neuralnet::compute

其他信息

使用 find,您可以找到定义函数的所有命名空间,以及 R 查找命名空间的顺序:

find("compute")
# [1] "package:neuralnet" "package:dplyr"

关于r - 使用方法错误("compute"): no applicable method for 'compute' applied to an object of class "nn",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com