我知道Recall = TP /(TP + FN)
假设我考虑了分类器的不同上下文的重新调用值。在一个上下文中,我将classA作为我的积极类,将classB作为我的负面类。在另一个上下文中,我将classA作为我的负面类,将classB作为我的正面类。
让R1和R2值成为这些上下文中的召回值
R1=TP1/(TP1+FN1)
R2=TP2/(TP2+FN2)
But TP2=FN1 and FN2=TP1
So R2=FN1/(TP1+FN1)
So R1+R2=1
这个论点有什么不对?[我觉得有些事情是错的,因为我看到使用召回评估分类器]。
同等地,如果我被要求计算召回分类器,是R1还是R2?你如何决定
答案 0 :(得分:0)
要获得有意义的结果,您需要评估 精度和召回。单独评估很有可能很难评估功能。
召回仅能够说明某个项目是否在某个类中,如果它实际上是。如果你只看回忆(不看准确性),那么得到一个完美的分数是微不足道的:
bool ismember(item, class) {
return true;
}
保证每时间100%完美召回。问题是它的精确度显然 stinks (实际上,它的精度为0 - 它不能拒绝不属于某个组成员的项目,因为它永远不会拒绝任何
相反,如果我们从召回中孤立地看待精确度,那么每次都能获得完美的结果同样微不足道:
bool ismember(item, class) {
return false;
}
精确是指拒绝非会员并断定他们不是班级成员的能力。由于这表示没有任何东西是该课程的成员,其精确分数始终是100%完美。当然,它有相反的问题:这次召回是0。
总结:我们需要查看两者召回和精确度,以获得有意义的结果。