我想在Matlab中使用perfcurve
函数创建一个ROC曲线(它用于逻辑回归,如图所示in this example (bottom of page))。我有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
图示的示例on mathworks (bottom of page)仅演示了如何为仅与正类或负类对应的数据行创建标签。
有关
[X,Y,T,AUC] = perfcurve(labels,scores,posclass)
如何设置标签和posclass格式以使ROC曲线图有效?
非常感谢你。
答案 0 :(得分:0)
为了使用perfcurve
函数在Matlab中创建ROC曲线,您需要获得每个数据点的分数(使用scores
参数传递给perfcurve)。数据点的分数由分类器给出,并对应于此数据点属于正类(由posclass
参数定义)的“概率”[1]。根据您的数据,您没有足够的信息来使用perfcurve
函数。
[1]有些分类器不会返回严格的概率,但分数越高表示概率越大,所以它就可以了。更多信息在Fawcett,Tom。 “介绍ROC分析。”模式识别字母27.8(2006):861-874。