[英]Plot ROC curve with pROC R
我使用randomForest構建文本分類器,因此要對其進行評估,我嘗試使用pROCpâckage創建ROC曲線。
這里的代碼:
ndsi.forest <- randomForest(tf.idf[train.index, ], as.factor(train$Note.Reco[train.index]), ntree = 100)
#predict with test data
ndsi.pred <-predict(ndsi.forest, newdata = tf.idf[test.index, ], response = 'class')
pred <- data.frame(ndsi.pred)
result <- data.frame(id = Data_clean$id[test.index], sentiment = pred[ , ])
##"ROC curve"
multiclass.roc(result$sentiment, test$Note.Reco)
我想知道是否是一種創建情節的方法? 用pROC包進行ROC圖?
我嘗試使用以下代碼:
roc(test$Note.Reco, result$sentiment, levels = c(1,2,3,4,5,6,7,8,9,10))
但是我得到這個錯誤:
Error in roc.default(test$Note.Reco, result$sentiment, levels = c(1, 2, :
'levels' argument must have length 2
先感謝您
據我了解,您有一個多類響應變量 (對應於10個不同的組)。
ROC-曲線是為兩組的分類定義的,因此多類分類是針對“ 一組相對於其余組 ”計算分類。 multiclass.roc
函數不允許您表示曲線,但是了解它的作用后,您可以:
1)考慮盡可能多的roc曲線。 即,ROC-曲線用於分類:
您可以使用roc
函數來做到這一點。 您唯一需要做的就是重新定義響應向量,其中i屬於第i組,其余為0。 用不同的名稱保存每個roc
對象。
2)要表示所有曲線,只需對每條曲線使用plot
函數,將plot(..., add=T)
到除第一條曲線之外的所有曲線。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.