首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在训练神经网络时收到错误"Error in nnet.default(x,y,w,...):too many (77031) weights“

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

Stack Overflow用户
提问于 2013-06-14 18:03:49
回答 4查看 31.4K关注 0票数 19

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

代码语言:javascript
运行
复制
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 ...

我已经截断了这个信息。

当我运行以下命令时:

代码语言:javascript
运行
复制
library(nnet)  
m4 <- nnet(stars~.,data=traindata,size=10, maxit=1000)

我得到以下错误:

代码语言:javascript
运行
复制
Error in nnet.default(x, y, w, ...) : too many (84581) weights

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

代码语言:javascript
运行
复制
m4 <- nnet(stars~.,data=traindata,size=10, maxit=1000,weights=1000)

然后我得到以下错误:

代码语言:javascript
运行
复制
Error in model.frame.default(formula = stars ~ ., data = traindata, weights = 1000) : 
variable lengths differ (found for '(weights)')

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

EN

Stack Overflow用户

发布于 2013-06-14 19:09:25

可以将MaxNWts增加到适合模型大小的值,也可以减小size以使模型更小。

您可能还想更多地考虑在模型中确切地包含哪些变量。仅从提供的数据来看,name是一个超过8,000个级别的因子;只有10000个观察值是不会得到任何有意义的结果的。city可能更有用,但同样,像神经网络这样复杂的东西中的61个级别可能是边缘的。

票数 17
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17105979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档