Получение прогнозируемых классов от r glmnet объекта

StackOverflow https://stackoverflow.com/questions/9344955

  •  27-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать простые многоклассовые модели логистической регрессии, используя 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 Нуб здесь.

Спасибо.

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top