首页 文章

了解如何绘制ROC曲线

提问于
浏览
0

假设我已将模型的分类结果格式化如下:

actual.class score.actual.class
A            1
A            1
A            0.6
A            0.1
B            0.5
B            0.3
.            .
.            .

1 - 如果我理解得好,ROC曲线绘制了真阳性和误报之间的权衡 . 这意味着我需要改变一个 class (真正的 class )的得分门槛,而不是两者,对吗?我的意思是如果我选择A作为真正的类,那么我只使用 subset(results,actual.class="A") 来绘制ROC曲线?

2 - 如果我想手动生成曲线(没有库),那么阈值将是该子集的每个可能得分吗?

3 - 为了绘制ROC曲线,是否从上述数据中正确生成了以下几点? (我使用A级作为真正的 class )

threshold fpr tpr
1         1   0   
0.6       1/2 1/2 
0.1       1/4 3/4      
0         0   1

这些将成为我的ROC的要点吗?

1 回答

  • 2

    “这意味着我需要改变一个 class (真正的 class )的得分门槛,而不是两者,对吧?”

    似乎存在误解,因为没有单独的正面或负面阈值 . ROC曲线用于评估二元分类算法的上下文中 . 在这样的算法中,不属于一种类型(TRUE)的元素被自动识别为另一种类型的元素(FALSE) .

    阈值的选择可能仅改变 balancer ,使得更多观察被分配给一种类型而不是另一种类型 . 阈值的这种变化是允许绘制ROC曲线的参数 . 否则,这只是一点 .

    关于你的第三点:是的,据我所知,我会说这种数据通常构成一条ROC曲线 .

相关问题