2009-11-11 85 views
0

训练glmnet回归时出现奇怪的错误。使用稀疏矩阵和glmnet时出现奇怪的错误

invalid class "dgCMatrix" object: length(Dimnames[[2]])' must match Dim[2] 

它只是偶尔发生,也许只在较大的数据集下才会发生。

我不确定它是否一致,它发生给定的数据集。

任何线索?

+0

length(Dimnames [[2]])'必须匹配Dim [2]是一个非常普遍的错误,这可能意味着你引用了不正确命名的变量(例如)。我猜你会需要提供更多的细节;也许尝试调试这个并且在错误之前检查元素。 – Shane 2009-11-11 02:45:20

回答

2

不知道这个包的细节,约翰·钱伯斯“软件进行数据Analsys”(2008年,施普林格)对调试通过

> options(error=recover) 

这可能是帮助在这里商量好了,例如。

1

我在使用family ='binomial'时不断得到相同的错误。原来,我的回应变量中的事件/案例太少了。在cv.glmnet中使用nfold = 10,如果我的二进制响应[0,1]发生的时间少于2%,我会得到错误。我建议让你的脚本检查这个场景,并在真正使用glmnet时使用。尽管您选择lambda时不会得到x验证的好处。

0

需要澄清以上内容。使用cv.glmnet()时遇到此问题。通过识别那些案例太少的情况,我使用glmnet()代替。你失去了交叉验证的好处(即估计lambda),但它会相互补充。

+0

您可以附加到您的上一个答案(点击答案左下角的编辑)。完成之后,您可以删除最后一个“答案”吗?谢谢。 – 2011-09-07 08:10:44