如何在Python中绘制DET或ROC曲线?

问题描述

我正在使用GMM进行演讲者验证项目,并且作为最后一步,我试图评估系统的性能,并且发现理想的方法是绘制ROC曲线或DET。

到目前为止,通过阅读不同的实现,我发现人们使用两个值,一个用于测试值,一个用于概率值(例如y_test,y_prob)。

在我的情况下,我有一个文本文件,其中所有说话者的名字都作为输入,在for循环中,我迭代每个文本并将其分配给名为 SPEAKER 的变量。

对于文件路径中的文件路径:

speaker = file_path.strip('\n').split('/')[0]
    speaker = str(speaker)

所有GMM模型都存储在名为 SPEAKERS_GMM 的列表中,然后与每个发言人的语音功能进行比较。 从那里开始计算log_likelihood值。

我尝试使用bob库使用正列表和负列表来计算ROC,阈值等,但是在bob版本7.0.0中,我收到一个错误“ AttributeError:模块'bob'没有属性'measure'”。>

if speaker == str(speakers_gmm[winner]):
        correct +=1
        positives.append(final_score)
        print('correct')
    else:
        wrong +=1
        negatives.append(final_score)
        print('wrong')

我的方法正确吗?有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)