簡體   English   中英

用pROC R繪制ROC曲線

[英]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-曲線用於分類:

  • 第1組vs非第1組
  • 第2組vs非第2組
  • 第10組vs非第10組

您可以使用roc函數來做到這一點。 您唯一需要做的就是重新定義響應向量,其中i屬於第i組,其余為0。 用不同的名稱保存每個roc對象。

2)要表示所有曲線,只需對每條曲線使用plot函數,將plot(..., add=T)到除第一條曲線之外的所有曲線。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM