使用稀疏矩阵和glmnet时出现奇怪的错误

时间:2009-11-11 00:56:18

标签: r matrix

在训练glmnet回归时,我遇到了一个奇怪的错误。

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

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

我不确定在给定某个数据集的情况下它是否一致。

任何线索?

3 个答案:

答案 0 :(得分:2)

在不知道这些软件包的细节的情况下,John Chambers“Software for Data Analsys”(2008,Springer)对调试进行了很好的讨论,例如通过

> options(error=recover) 

这可能会有所帮助。

答案 1 :(得分:1)

我在使用family ='binomial'时遇到了同样的错误。事实证明,我的响应变量中的事件/案例太少了。在cv.glmnet中使用nfold = 10,如果我的二进制响应[0,1]发生的时间少于〜2%,我会得到错误。我建议您使用脚本检查此方案,并在true时使用glmnet。尽管选择lambda,你将无法获得x验证的好处。

答案 2 :(得分:0)

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