我正在尋找一些幫助,找出什麼是我的嘗試,以適應正則化邏輯迴歸(特別是找到使用cv.glmnet最佳lambda值)的錯誤。R glmnet錯誤二進制邏輯
運行下面的命令:
RegLR_CV<-cv.glmnet(x=train.sub.clean[,-c(431)],
y=as.factor(train.sub$finalAttrite),
family="binomial")
其中表train.sub.clean
都是數字,並曾所有零級方差的變量除去(使用caret
包)。
該函數運行一段時間後會產生以下錯誤。任何人都可以推薦我應該尋找的故障排除?它必須是我的數據集,因爲包中的玩具示例運行良好。
Error:
Error in as.matrix(cbind2(1, newx) %*% nbeta) : error in evaluating the argument 'x' in selecting a method for function 'as.matrix': Error in t(.Call(Csparse_dense_crossprod, y, t(x))) : error in evaluating the argument 'x' in selecting a method for function 't': Error: invalid class 'NA' to dup_mMatrix_as_dgeMatrix
R: ř版本2.13.0(2011-04-13) 平臺:x86_64的-PC-的mingw32/64(64位)
glmnet:1.7
您應該升級到當前版本R和如果這不起作用,請發佈sessionInfo()的結果以及重新創建問題的一些數據。 –
如果您明確將'train.sub.clean [, - c(431)]'轉換爲矩陣,會發生什麼?你能確認那裏沒有「NA」嗎?此外,你正在爲邏輯迴歸做交叉驗證。難道是你的任何一個結果班的人數極少?這可能會導致其中一個子集不包含其中一個值。 –