Я подгоняю модель логистической регрессии к набору обучающих данных в R, более конкретно, регрессии LASSO со штрафом L1. Для этого я использовал пакет glmnet
. Код для модели выглядит следующим образом.
t1 <- Sys.time()
glmnet_classifier <- cv.glmnet(x = dtm_train_tfidf,
y = tweets_train[['sentiment']],
family = 'binomial',
# L1 penalty
alpha = 1,
# interested in the area under ROC curve
type.measure = "auc",
# 5-fold cross-validation
nfolds = 5,
# high value is less accurate, but has faster training
thresh = 1e-3,
# again lower number of iterations for faster training
maxit = 1e3)
print(difftime(Sys.time(), t1, units = 'mins'))
preds <- predict(glmnet_classifier, dtm_test_tfidf, type = 'response')[ ,1]
Теперь я хотел бы построить ROC-кривую. Однако я не могу понять, как точно изобразить это.
Когда я plot(glmnet_classifier)
это то, что я получаю:
Поскольку это не кривая Рока, я хотел бы знать, знает ли кто-нибудь, как построить ее в R? Я уже ссылался на пакет ROCR
, но он выдает ошибку:
roc.perf = performance(preds, measure = "tpr", x.measure = "fpr")
Кто-нибудь может помочь?
Большое спасибо!