【发布时间】:2011-10-27 15:28:12
【问题描述】:
我正在寻求一些帮助,以找出在我尝试拟合正则化逻辑回归时导致错误的原因(特别是使用 cv.glmnet 找到最佳 lambda 值)。
运行以下命令:
RegLR_CV<-cv.glmnet(x=train.sub.clean[,-c(431)],
y=as.factor(train.sub$finalAttrite),
family="binomial")
其中表 train.sub.clean 都是数字并且已删除所有零方差变量(使用 caret 包)。
此函数运行一段时间然后产生以下错误。谁能推荐我应该寻找的故障排除方法?它必须是我的数据集,因为包中的玩具示例运行良好。
错误:
as.matrix(cbind2(1, newx) %*% nbeta) 中的错误:评估错误 为函数“as.matrix”选择方法时的参数“x”:错误 在 t(.Call(Csparse_dense_crossprod, y, t(x))) 中:评估错误 为函数“t”选择方法时的参数“x”:错误: dup_mMatrix_as_dgeMatrix 的无效类“NA”
R: R 版本 2.13.0 (2011-04-13) 平台:x86_64-pc-mingw32/x64(64位)
glmnet: 1.7
【问题讨论】:
-
您应该升级到当前版本 R,如果这不起作用,请发布 sessionInfo() 的结果和一些重现问题的数据。
-
如果您自己将
train.sub.clean[,-c(431)]显式转换为矩阵会怎样?你能确认那里没有NAs 吗?此外,您正在对逻辑回归进行交叉验证。会不会是你的任何一个结果等级都极少?这使得其中一个子集不包含其中一个值是合理的。
标签: r