MATLAB中的ROC曲线垂直平均值

时间:2012-06-09 16:47:34

标签: matlab average roc

有没有办法计算http://vicos.fri.uni-lj.si/data/vprsistemi/ROCintro.pdf中几个ROC curves的垂直平均值(MATLAB)?我在MATLAB指南中发现 perfcurve 可以做到,但我不知道如何使用它。

1 个答案:

答案 0 :(得分:4)

您可以将检测数组的概率连接到矩阵中,然后取其平均值。假设您在行向量PFA中保留了错误警报的可能性,并且您的检测值概率保存在行向量PD1PD2,...:

PDMatrix = [PD1; PD2; ...];
PDMean = mean(PDMatrix, 1);

这假设您的ROC曲线都共享相同的PFA值。如果不是这种情况,那么您可以创建一个公共PFA阵列,并在平均之前使用interp1重新采样PD阵列。例如,如果您对从10 ^ -6到“接近1”的对数间隔PFA值感兴趣,并且您的PFA / PD对具有要在此范围内插的数据,则可以执行类似

的操作
PFAResampled = logspace(-6, -.1, 1000);
PD1Resampled = interp1(PFA1, PD1, PFAResampled);
PD2Resampled = interp1(PFA2, PD2, PFAResampled);

之后,您可以连接并采用上面显示的均值。