假设我已将模型的分类结果格式化如下:
actual.class score.actual.class
A 1
A 1
A 0.6
A 0.1
B 0.5
B 0.3
. .
. .
1 - 如果我理解的话,ROC曲线绘制了真阳性和误报之间的权衡。这意味着我需要改变一个班级(真正的班级)的得分门槛,而不是两者,对吗?我的意思是如果我选择A作为真正的类,那么我只使用subset(results,actual.class="A")
绘制ROC曲线?
2 - 如果我想手动生成曲线(没有库),那么阈值将是该子集的每个可能得分吗?
3 - 为了绘制ROC曲线,上述数据是否正确生成了以下几点? (我使用A级作为真正的班级)
threshold fpr tpr
1 1 0
0.6 1/2 1/2
0.1 1/4 3/4
0 0 1
这些是否会形成我的ROC?
答案 0 :(得分:2)
“这意味着我需要改变分数阈值 一个班级(真正的班级),而不是两个班级,对吗?“
似乎存在一种误解,因为没有单独的正面或负面阈值。 ROC曲线用于评估二元分类算法的上下文中。在这样的算法中,不属于一种类型(TRUE)的元素被自动识别为另一种类型的元素(FALSE)。
阈值的选择可能仅改变平衡,使得更多观察被分配给一种类型而不是另一种类型。阈值的这种变化是允许绘制ROC曲线的参数。否则,这只是一点。
关于你的第三点:是的,据我所知,我会说这种数据通常构成一条ROC曲线。