Có thể ai đó giải thích cho tôi xin vui lòng làm thế nào để vẽ một đường cong ROC với ROCR. Tôi biết rằng tôi lần đầu tiên nên chạy:Đường cong ROC trong R sử dụng gói ROCR
prediction(predictions, labels, label.ordering = NULL)
và sau đó:
performance(prediction.obj, measure, x.measure="cutoff", ...)
Tôi chỉ không rõ ràng có nghĩa là gì với dự đoán và nhãn. Tôi tạo ra một mô hình với ctree và cforest và tôi muốn các đường cong ROC cho cả hai người trong số họ để so sánh nó ở cuối. Trong trường hợp của tôi thuộc tính lớp là y_n, mà tôi cho rằng nên được sử dụng cho các nhãn. Nhưng còn những dự đoán thì sao? Dưới đây là các bước của những gì tôi làm (dataset name = bank_part):
pred<-cforest(y_n~.,bank_part)
tablebank<-table(predict(pred),bank_part$y_n)
prediction(tablebank, bank_part$y_n)
Sau khi chạy dòng cuối cùng tôi nhận được lỗi này:
Error in prediction(tablebank, bank_part$y_n) :
Number of cross-validation runs must be equal for predictions and labels.
Cảm ơn trước!
Dưới đây là một ví dụ khác: Tôi có bộ dữ liệu huấn luyện (bank_training) và kiểm tra dữ liệu (bank_testing) và tôi chạy một randomForest như sau:
bankrf<-randomForest(y~., bank_training, mtry=4, ntree=2,
keep.forest=TRUE,importance=TRUE)
bankrf.pred<-predict(bankrf, bank_testing, type='response')
Bây giờ bankrf.pred là một đối tượng yếu tố với các nhãn c = ("0", "1"). Tuy nhiên, tôi không biết làm thế nào để vẽ ROC, khiến tôi bị kẹt vào phần dự đoán. Dưới đây là những gì tôi làm
library(ROCR)
pred<-prediction(bankrf.pred$y, bank_testing$c(0,1)
Nhưng điều này vẫn không chính xác, vì tôi nhận được thông báo lỗi
Error in bankrf.pred$y_n : $ operator is invalid for atomic vectors
Nếu bạn đã cung cấp một ví dụ hoàn toàn được thổi, bạn có thể có được đối tượng rộng hơn có thể giúp bạn. Xem http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example để biết một số mẹo về cách thực hiện điều đó. –