R glmnet ошибка двоичной логистики - PullRequest
1 голос
/ 16 августа 2011

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

Выполнение следующей команды:

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): ошибка в оценке аргумент 'x' при выборе метода для функции 'as.matrix': ошибка в t (.Call (Csparse_dense_crossprod, y, t (x))): ошибка в оценке Аргумент 'x' при выборе метода для функции 't': Ошибка: недопустимый класс 'NA' для dup_mMatrix_as_dgeMatrix

R: Версия R 2.13.0 (2011-04-13) Платформа: x86_64-pc-mingw32 / x64 (64-разрядная версия)

glmnet: 1,7

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

У меня были такие же ошибки, когда я начал экспериментировать с glmnet.Они ушли, когда я:

1) Использовал model.matrix для преобразования всех моих факторных переменных в макеты

2) Убедитесь, что все закодировано как числовое - наличие символьных переменных вызвало 'Ошибка: недопустимый класс 'NA' для dup_mMatrix_as_dgeMatrix 'для меня.

3) Преобразовал мой фрейм данных в две матрицы для предикторов и результатов, прежде чем передать их в glmnet.

Надеюсь, это поможет

0 голосов
/ 14 июля 2015

Попробуйте сделать: cv.glmnet (х = as.matrix (train.sub.clean [, - с (431)]), ...) и попробуйте

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