【问题标题】:Constructing ROC curve for FAR and FRR values为 FAR 和 FRR 值构建 ROC 曲线
【发布时间】:2016-09-23 07:23:00
【问题描述】:

我有一个一对多的分类器集。该集合由 3 个分类器 (LibSVM SVM) 组成,每个分类器都针对一个类的数据和所有其他类数据进行了训练。样本的当前设置是,给出最高分数的 3 个类的分类器称为匹配类。

此设置给出了 FAR 和 FRR 结果。问题是 FAR 和 FRR 结果不足以构建我需要的 ROC 曲线。我想知道我可以做些什么来产生和 ROC 曲线。

【问题讨论】:

    标签: machine-learning classification svm libsvm roc


    【解决方案1】:

    这可以使用“多类 ROC 曲线”来完成(参见例如this answer 了解更多详细信息)。通常,您要么单独查看每个类,甚至单独查看每对类。我将提供一个简短的R 示例来说明第一个类的外观,它不那么复杂,但仍然可以很好地了解各个类的识别效果。

    你首先需要获得一些类概率(为了重现性,这是你已经拥有的):

    # Computing some class probabilities for a 3 class problem using repeated cross validation
    library(caret)
    model <- train(x = iris[,1:2], y = iris[,5], method = 'svmLinear', trControl = trainControl(method = 'repeatedcv', number = 10, repeats = 10, classProbs = T, savePredictions = T))
    
    # those are the class probabilities for each sample
    > model$pred
    pred        obs     setosa  versicolor   virginica rowIndex C     Resample
    [...]
    11  virginica virginica 1.202911e-02 0.411723759 0.57624713      116 1 Fold01.Rep01
    12 versicolor virginica 4.970032e-02 0.692146087 0.25815359      122 1 Fold01.Rep01
    13  virginica virginica 5.258769e-03 0.310586094 0.68415514      125 1 Fold01.Rep01
    14  virginica virginica 4.321882e-05 0.202372698 0.79758408      131 1 Fold01.Rep01
    15 versicolor virginica 1.057353e-03 0.559993337 0.43894931      147 1 Fold01.Rep01
    [...]
    

    现在您可以单独查看每个类别的 ROC 曲线。对于每条曲线,FRR 表示该类的样本被预测为其他类样本的频率,而FAR 表示一些样本的频率其他类被预测为该类的样本:

    plot(roc(predictor = model$pred$setosa, response = model$pred$obs=='setosa'), xlab = 'FAR', ylab = '1-FRR')
    plot(roc(predictor = model$pred$versicolor, response = model$pred$obs=='versicolor'), add=T, col=2)
    plot(roc(predictor = model$pred$virginica, response = model$pred$obs=='virginica'), add=T, col=3)
    legend('bottomright', legend = c('setosa', 'versicolor', 'virginica'), col=1:3, lty=1)
    

    如前所述,您还可以查看每对类的 ROC 曲线,但恕我直言,这会传输更多信息,因此掌握包含的信息更复杂/需要更长的时间.

    【讨论】:

      猜你喜欢
      • 2018-06-28
      • 2013-09-28
      • 2014-07-20
      • 1970-01-01
      • 2016-08-27
      • 2016-11-06
      • 2020-04-18
      • 2012-08-25
      • 2016-02-23
      相关资源
      最近更新 更多