2016-08-15 1 views
0

Я пытаюсь построить кривую ROC для моей модели регрессии glmnet. Для того, чтобы сделать это, я пытаюсь предсказать, используя тип = «ответ» в предсказать функцию:Невозможно указать тип = «ответ» в функции предсказания Каре

pred_glmnet_s10_2class <- predict(model_train_glmnet_s10_2class, 
            newdata=testing_s10_2class, 
            s = "model_train_glmnet_s10_2class$finalModel$lambdaOpt", 
            type="response") 

и я получаю следующее сообщение об ошибке:

Error in predict.train(model_train_glmnet_s10_2class, newdata = testing_s10_2class, : type must be either "raw" or "prob"

Мои предсказания и класс метки являются двоичными 0 и 1 и были учтены. Любая помощь действительно ценится. Кроме того, любые идеи о том, как построить AUC (Area Under ROC curve) и количество функций? Благодаря!

+1

Можете ли вы предоставить [минимальный воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how -в-сделать-а-пра-р-воспроизводимая-пример)? – shayaa

+0

За ваши последующие вопросы по AUC, что вы пробовали? – steveb

+0

'Прогноз' является общим. Вам нужно знать класс 'model_train_glmnet_s10_2class'. Затем вы можете определить, какую из многих функций 'предсказания' вы фактически используете. Возможно, что для этого класса объекта нет ответа 'type =" "'. –

ответ

0

Предполагая, что model_train_glmnet_s10_2class был сгенерирован train (с указанием кода будет полезно) ...

Использование predict(model_train_glmnet_s10_2class) использует predict.train и использует оптимальные значения лямбда определяются train автоматически. Если вам нужны вероятности, просто используйте type = "prob".

Ваш синтаксис согласуется с predict.glmnet, а не predict.train.

Как сказано в документации, это действительно плохая идея использовать model_train_glmnet_s10_2class$finalModel непосредственно делать предсказания

Смежные вопросы