了解如何绘制 ROC 曲线
Understanding how to plot an ROC curve
假设我已经将模型的class化结果格式化如下:
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 作为真实的 class 那么我将仅使用 subset(results,actual.class="A")
来绘制 ROC 曲线?
2-如果我想手动生成曲线(没有库)怎么办,阈值是否是该子集中的每个可能分数?
3-为了绘制 ROC 曲线,是否根据上述数据正确生成了以下点? (我使用 class A 作为真实的 class)
threshold fpr tpr
1 1 0
0.6 1/2 1/2
0.1 1/4 3/4
0 0 1
这些点将构成我的 ROC 吗?
"This implies that I need to be varying the score threshold for just
one class(the true class) and not both, right?"
似乎存在误解,因为没有单独的正面或负面阈值。 ROC 曲线用于评估二元分类算法。在此类算法中,不属于一种类型 (TRUE) 的元素会自动识别为另一种类型 (FALSE) 的元素。
阈值的选择可能只会改变平衡,使得更多的观测值分配给一种类型而不是另一种。阈值的这种变化是允许绘制 ROC 曲线的参数。否则就是一分。
关于您的第三点:是的,据我从您的示例中可以看出,这种数据通常构成 ROC 曲线。
假设我已经将模型的class化结果格式化如下:
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 作为真实的 class 那么我将仅使用 subset(results,actual.class="A")
来绘制 ROC 曲线?
2-如果我想手动生成曲线(没有库)怎么办,阈值是否是该子集中的每个可能分数?
3-为了绘制 ROC 曲线,是否根据上述数据正确生成了以下点? (我使用 class A 作为真实的 class)
threshold fpr tpr
1 1 0
0.6 1/2 1/2
0.1 1/4 3/4
0 0 1
这些点将构成我的 ROC 吗?
"This implies that I need to be varying the score threshold for just one class(the true class) and not both, right?"
似乎存在误解,因为没有单独的正面或负面阈值。 ROC 曲线用于评估二元分类算法。在此类算法中,不属于一种类型 (TRUE) 的元素会自动识别为另一种类型 (FALSE) 的元素。
阈值的选择可能只会改变平衡,使得更多的观测值分配给一种类型而不是另一种。阈值的这种变化是允许绘制 ROC 曲线的参数。否则就是一分。
关于您的第三点:是的,据我从您的示例中可以看出,这种数据通常构成 ROC 曲线。