Получение предсказанных классов из объекта R glmnet - PullRequest
3 голосов
/ 19 февраля 2012

Я пытаюсь построить простые мультиклассовые модели логистической регрессии, используя glmnet в R. Однако, когда я пытаюсь предсказать данные теста и получить таблицу сопряженности, я получаю ошибку.Пример сеанса воспроизводится ниже.

> mat = matrix(1:100,nrow=10)
> test = matrix(1:50,nrow=5)

> classes <- as.factor(11:20)

> model <- glmnet(mat, classes, family="multinomial", alpha=1)
> pred <- predict(model, test)
> table(pred, as.factor(11:15))
  Error in table(pred, as.factor(11:15)) : 
  all arguments must have the same length

Любая помощь будет оценена.R noob здесь.

Спасибо.

1 Ответ

6 голосов
/ 20 февраля 2012

Метод predict для объекта glmnet требует, чтобы вы указали значение для аргумента s, который указывает, для каких значений параметра регуляризации вы хотите сделать прогнозы.

(glmnet соответствует модели для нескольких значений этого параметра регуляризации одновременно.)

Так что, если вы не укажете значение для s, predict.glmnet вернет прогноз для всех значений. Если вам нужен только один набор прогнозов, вам нужно либо установить значение для s при вызове predict, либо вам нужно извлечь соответствующий столбец после факта.

...