如何为 pROC 中的 multiclass.roc 图添加标题?

How can I add a title to multiclass.roc plots in pROC?

我有一个多项式模型,其中 nnet:multinom 为 5 类,用于 26 个变量:

mirna_multinom_0 = multinom(formula_0, data= clase_training, maxit=10000 )

然后我创建我的 ROCS:

multiclass.roc(clase_training$clase, mirna_multinom_0$fitted.values,plot=TRUE)

我画的。

pred_test_inter_multinom_5 = predict(interaction_multinom_model_5, newdata = clase_test, "probs")
multiclass.roc(clase_test$clase, pred_test_inter_multinom_5,plot=TRUE)

为了理解它们,我将其存储为 object e 并将对比度称为 names(e$roc) 以查看我的对比度。

e = multiclass.roc(clase_training$clase, mirna_multinom_0$fitted.values)
names(e$rocs)

 [1] "Control/Idiop_grave"      "Control/Idiop_leve"       "Control/Isquem_grave"    
 [4] "Control/Isquem_leve"      "Idiop_grave/Idiop_leve"   "Idiop_grave/Isquem_grave"
 [7] "Idiop_grave/Isquem_leve"  "Idiop_leve/Isquem_grave"  "Idiop_leve/Isquem_leve"  
[10] "Isquem_grave/Isquem_leve"

这给了我 2 个图,一个在 > 方向,另一个在 < 方向。

现在。 我可以用某种方式在图中绘制每个对比的标题吗?

另外,有没有办法获得每个 ROC 对比的曲线 AUC 下的面积? 我只在多项式的消息中获得它。没有 PROC 图。 我能否获得多项式 ROC,或者它只是一个没有图形表示的结构?

Can I plot the titles of each contrast in the plots in someway?

您需要自己遍历曲线,但可以像这样轻松完成:

for (contrast in names(e$rocs)) {
    plot(e$rocs[[contrast]][[1]], col = "green", main = contrast)
    plot(e$rocs[[contrast]][[2]], col = "blue", add = TRUE)
}

is there a way I can obtain the areas under the curve AUC for each one of the ROC contrast?

您可以使用 auc 函数执行类似的操作:

for (contrast in names(e$rocs)) {
    print(contrast)
    print(auc(e$rocs[[contrast]][[1]]))
    print(auc(e$rocs[[contrast]][[2]]))
}

Can I obtain a multinomial ROC, or its just a construct with no graphical representation?

它是 Hand & Till 在 doi:10.1023/A:1010920819831 中描述的一种 AUC 平均值。没有相应的曲线可以表示。