Roc-кривая для классификации из randomForest
Я использую randomForest
пакет в платформе R для задачи классификации.
rf_object<-randomForest(data_matrix, label_factor, cutoff=c(k,1-k))
где k колеблется от 0,1 до 0,9.
pred <- predict(rf_object,test_data_matrix)
у меня есть выход из классификатора случайного леса и сравнил его с этикетки. Так что у меня показатели как точность, МХК, чувствительность, специфичность и т. д. по 9 очков отсечки.
теперь я хочу построить кривую ROC и получить область под кривой ROC, чтобы увидеть, насколько хороша производительность. Большинство пакеты в R (например, ROCR, pROC) требуют прогнозирования и меток, но у меня есть чувствительность (TPR) и специфичность (1-FPR).
может ли кто-нибудь предложить мне, если метод среза правильный или надежный для получения кривой ROC? Знаете ли вы, как получить кривую ROC и область под кривой с помощью TPR и FPR?
Я также попытался использовать следующую команду для обучения случайному лесу. Таким образом, предсказания были непрерывными и приемлемыми для ROCR
и pROC
пакеты в R. Но, I не уверен, что это правильный способ. Может ли кто-нибудь предложить мне этот метод?
rf_object <- randomForest(data_matrix, label_vector)
pred <- predict(rf_object, test_data_matrix)
Спасибо за ваше время, читая мою проблему! Я провел долгий серфинг на это времени. Спасибо за ваше предложение / совет.
1 ответов
почему вы не выводите вероятности классов ? Таким образом, у вас есть рейтинг ваших прогнозов, и вы можете напрямую ввести его в любой пакет ROC.
m = randomForest(data_matrix, labels)
predict(m,newdata_matrix,type='prob')
обратите внимание, что для использования randomForest в качестве инструмента классификации,labels
должен быть вектор фактора.