【问题标题】:ROC and AUC using perfcurve and SVM (fitcsvm) in matlab在 matlab 中使用 perfcurve 和 SVM (fitcsvm) 的 ROC 和 AUC
【发布时间】:2019-08-27 06:59:04
【问题描述】:

在matlab的perfcurve 函数中,使用了三个参数,

[X,Y,T,AUC] = perfcurve(labels,scores,posclass)

标签是真值标签,分类器返回分数,正类,

就我而言,我有两个类,标记为:1(pos 类)和 2(neg calss), 我正在使用SVM 分类器,它返回两列的分数,据我了解,第一列是负类,第二列是正类? (这里解释)

所以语法应该如下?

[SVMX,SVMY,T,AUC] = perfcurve(lables, SVM_scores(:,2),1);

【问题讨论】:

    标签: matlab classification svm roc


    【解决方案1】:

    functionfitsvm中的默认设置,排序为第一类为负,第二类为正。所以它翻译 1 是负数,2 是正数: 并根据该顺序,语法应该是 [SVMX,SVMY,T,AUC] = perfcurve(lables, SVM_scores(:,1),1);

    或名称/变量'ClassNames',[2,1], 可用于重新排序类

    svmModel = fitcsvm(X,Y,'ClassNames',[2,1],'KernelFunction','RBF'); 因此

     [SVMX,SVMY,T, AUC] = perfcurve(lables,SVM_scores(:,2),1);
    

    【讨论】:

      猜你喜欢
      • 2017-02-23
      • 1970-01-01
      • 2019-08-15
      • 2016-08-07
      • 2016-01-23
      • 2014-07-04
      • 2020-03-12
      • 2017-11-12
      • 2022-07-02
      相关资源
      最近更新 更多