首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROC图构造

ROC图构造
EN

Stack Overflow用户
提问于 2012-05-12 14:15:44
回答 2查看 955关注 0票数 0

我有两个严重不平衡的数据集,它们被标记为正和负,并且我能够生成一个混淆矩阵,它产生大约95%的真阳性率(遗传的5%假阴性率)和大约99.5%的真阴性率(0.5%假阳性率)。

我试图构建ROC图的问题是,x轴的范围不是从0到1,间隔为0.1。相反,它的范围从0到类似0.04的东西,因为我的假阳性率非常低。

对于为什么会发生这种情况,有什么见解吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-13 05:52:48

我已经弄明白了。我使用Platt算法提取正分类的概率,并对数据集进行排序,最高概率优先。我迭代了数据集,任何积极的例子(真正的积极,没有被归类为正)增加了真阳性计数,而任何负面的例子(真正的否定,没有被归类为负)增加了假阳性计数。

可以将其看作支持向量机上的支持向量,它将两个类别(+ve和-ve)从支持向量机的一侧逐渐移动到另一侧。在这里,我想象的是二维平面上的点。随着支持向量的移动,它揭示了示例。任何被标记为肯定的例子都是真阳性,任何否定都是假阳性。

希望这能有所帮助。由于网上缺乏信息(或者只是我对支持向量机缺乏理解),我花了几天的时间才弄清楚这些琐碎的事情。这特别针对那些在OpenCV包中使用CvSVM的用户。正如您可能知道的,CvSVM不返回概率值。相反,它会根据distance函数返回一个值。您不需要使用Platt算法来提取基于概率的ROC曲线,相反,您可以使用距离值本身。例如,您从10开始计算距离,然后缓慢递减,直到覆盖了所有数据集。我发现使用概率更好地可视化,所以每个人都有自己的概率。

请注意我的英语,因为它不是我的母语

票数 0
EN

Stack Overflow用户

发布于 2012-05-12 14:33:06

在ROC图中,两个轴是假阳性率(F)和真阳性率(T)。T是给定一个正数据项,您的算法将其分类为正数据项的概率。F是给定一个负数据项,算法错误地将其分类为正数据项的概率。轴总是从0到1,如果你的算法不是参数化的,你应该在ROC图上得到一个点(或者两个数据集),而不是一条曲线。如果你的算法是参数化的,那么你就会得到一条曲线,然后这条曲线是由不同的参数值诱导出来的。

请参阅http://www2.cs.uregina.ca/~dbd/cs831/notes/ROC/ROC.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10561525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档