gpt4 book ai didi

r - 我在训练神经网络时收到错误 "Error in nnet.default(x, y, w, ...) : too many (77031) weights"

转载 作者:行者123 更新时间:2023-11-30 08:22:13 25 4
gpt4 key购买 nike

我正在尝试使用包nnet在R中训练神经网络。以下是有关我的训练数据的信息。

str(traindata)

'data.frame': 10327 obs. of 196 variables:
$ stars : num 5 5 5 3.5 3.5 4.5 3.5 5 5 3.5 ...
$ open : num 1 1 1 1 1 1 1 1 1 1 ...
$ city : Factor w/ 61 levels "ahwatukee","anthem",..: 36 38
$ review_count : int 3 5 4 5 14 6 21 4 14 10 ...
$ name : Factor w/ 8204 levels " leftys barber shop",..:
$ longitude : num -112 -112 -112 -112 -112 ...
$ latitude : num 33.6 33.6 33.5 33.4 33.7 ...
$ greek : int 0 0 0 0 0 0 0 0 0 0 ...
$ breakfast...brunch : int 0 0 0 0 0 0 0 0 0 0 ...
$ soup : int 0 0 0 0 0 0 0 0 0 0 ...

我已截断此信息。

当我运行以下命令时:

library(nnet)  
m4 <- nnet(stars~.,data=traindata,size=10, maxit=1000)

我收到以下错误:

Error in nnet.default(x, y, w, ...) : too many (84581) weights

当我尝试更改参数中的权重时,例如:

m4 <- nnet(stars~.,data=traindata,size=10, maxit=1000,weights=1000)

然后我收到以下错误:

Error in model.frame.default(formula = stars ~ ., data = traindata, weights = 1000) : 
variable lengths differ (found for '(weights)')

我犯了什么错误?我该如何避免或纠正这个错误?也许问题出在我对“权重”的理解上。

最佳答案

要么增加 MaxNWts 到适合模型大小的值,要么减小 size 以使模型更小。

您可能还想更多地考虑模型中到底包含哪些变量。只看提供的数据,name是一个有8000多个级别的因子;仅凭 10000 次观察,你不会从中得到任何有意义的东西。 city 可能更有用,但同样,对于像神经网络这样复杂的东西来说,61 个级别可能是微不足道的。

关于r - 我在训练神经网络时收到错误 "Error in nnet.default(x, y, w, ...) : too many (77031) weights",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17105979/

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