2

我想在 Matlab 中使用该perfcurve函数创建一条 ROC 曲线(它用于逻辑回归,类似于本示例(页面底部)所示)。我有 150 个数据点(二进制数据),但它们既不是正类也不是负类;它们是特定数据点内积极观察的数量。

示例(随机数据说明):

datapoint   +ve observations    total observations
1               23                  35
2               27                  41
3               23                  36
4               18                  29
5               19                  39
6               21                  41
7               24                  40
8               29                  36
9               38                  45
10              12                  32

mathworks 上的示例(页面底部)仅演示了如何为仅对应于正类或负类的数据行创建标签。

为了

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

为了使 ROC 曲线图起作用,我必须如何格式化我的标签和 posclass?

非常感谢您提前。

4

1 回答 1

0

为了使用该perfcurve函数在 Matlab 中创建 ROC 曲线,您需要获得每个数据点的分数(使用scores参数传递给 perfcurve)。数据点的分数由您的分类器给出,对应于该数据点属于正类(由posclass参数定义)的“概率”[1]。鉴于您的数据,您没有足够的信息来使用该perfcurve功能。

[1] 一些分类器不返回严格的概率,但分数越高表示概率越高,所以没关系。更多信息在 Fawcett, Tom。“ROC 分析简介。” 模式识别字母 27.8 (2006): 861-874。

于 2013-09-28T20:21:34.703 回答