Странная ошибка при использовании разреженных матриц и glmnet - PullRequest
0 голосов
/ 11 ноября 2009

Я получаю странную ошибку при обучении регрессии glmnet.

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

Это происходит только изредка и, возможно, только в больших наборах данных.

Я не уверен, является ли это согласованным, это происходит с определенным набором данных.

Есть какие-нибудь подсказки?

Ответы [ 3 ]

2 голосов
/ 11 ноября 2009

Не зная подробностей этих пакетов, Джон Чамберс «Программное обеспечение для Data Analsys» (2008, Springer) хорошо обсуждает отладку, например, через

> options(error=recover) 

, что может помочь здесь.

1 голос
/ 06 сентября 2011

Я продолжал получать ту же ошибку при использовании family = 'binomial'. Оказывается, у меня было слишком мало событий / случаев в моей переменной ответа. Используя nfold = 10 в cv.glmnet, я получил бы ошибку, если бы мой двоичный ответ [0,1] происходил менее чем ~ 2% времени. Я рекомендую проверить ваш сценарий для этого сценария и использовать glmnet, когда истина. Вы не сможете воспользоваться преимуществом проверки x для выбора лямбды.

0 голосов
/ 07 сентября 2011

Нужно уточнить выше. У меня была эта проблема при использовании cv.glmnet (). Выявив случаи, когда дел слишком мало, я использовал вместо этого glmnet (). Вы теряете преимущество перекрестной проверки (т.е. оценки лямбды), но оно будет компилироваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...