0

我知道召回 = TP/ (TP+FN)

假设我考虑一个分类器不同上下文的召回值。在一种情况下,我将 classA 作为我的正类,将 classB 作为我的负类。在另一种情况下,我将 A 类作为我的负类,B 类作为我的正类。

让 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?你如何决定

4

1 回答 1

0

要获得有意义的结果,您需要同时评估准确率和召回率。孤立地评估任何一个都很有可能对函数的评估很差。

召回只是能够说一个项目在一个类中,如果它实际上是。如果您只看召回率(不看精度),那么获得满分是微不足道的:

bool ismember(item, class) { 
    return true;
}

保证每次都能提供 100% 的完美召回。问题是它的精度显然很糟糕(实际上,它的精度是 0——它不能拒绝不是组成员的项目,因为它从不拒绝任何东西

相反,如果我们从召回率中分离出精确度,每次都获得完美的结果同样微不足道:

bool ismember(item, class) { 
    return false;
}

精确度是拒绝非成员并断定他们不是班级成员的能力。由于这表明没有任何人是该类的成员,因此其精确度得分始终是 100% 完美的。当然,它有相反的问题:这次召回为 0。

总结:我们需要同时查看召回率和精度才能获得有意义的结果。

于 2016-11-08T05:18:44.127 回答