How to draw ROC curve using value of confusion matrix?

前端 未结 2 1687
小蘑菇
小蘑菇 2021-01-23 01:18

Consider i have a classifier like A and the result of its classification gives me the following table:

    TP  TN  FP  FN
A   225 100 175 100


        
相关标签:
2条回答
  • 2021-01-23 01:54

    This is impossible, because you only have a confusion matrix for a certain (unknown) threshold of your classifier. A ROC-Curve contains information about all possible thresholds.

    The Confusion matrix corresponds to a single point on your ROC Curve:

    Sensitivity = TP / (TP + FN)
    1 - Specificy = TN / (TN + FP) .

    0 讨论(0)
  • 2021-01-23 02:01

    I don't understand why you'd simulate a new variable. You're basically asking to plot a curve from a single point, which is impossible. Instead, you should just use the dependent variable in the training or test data that you used to train the model. This will allow you to find a cutoff point that you consider optimal.

    The pROC package allows us to plot ROC curves easily. Assuming we have a data frame named test and a model named mymodel, we could use something like this:

    library('pROC')
    plot(roc(test$y, predict(mymodel, test, type = "prob"))
    
    0 讨论(0)
提交回复
热议问题