当类别中没有正负含义,而只是代表中性事物时,该如何计算这些指标呢?
例如,假设我们有一个分类问题,其中有两个类别代表两个人(约翰、亚历克斯),你想将新的实例分类到其中一个类别中。目标是判断新的人更像是约翰,还是更像是亚历克斯。那么你该如何计算召回率和精确率呢?
回答:
在这种情况下通常没有所谓的精确率,你可以(而且人们通常会)报告两种精确率,在你的情况下是:
- 识别约翰的精确率
- 识别亚历克斯的精确率
换句话说,你可以将每个类别单独视为正类,并报告多个精确率。有些指标不存在这个问题(如准确率),因为它们是对称的。对于不对称的指标(如精确率或F1分数),你需要做以下三件事之一:
- 决定哪个类别是正类
- 报告多个值,每个值以不同的类别定义为“正类”
- 聚合上述结果——例如,通过报告类别上的平均精确率、中位数精确率等
最后要说的是——没有一种“普遍的方法”来做这件事,因为每种方法回答的是不同的问题。一旦你能严格定义你的模型试图回答的问题,你就可以选择最佳的指标。
例如,如果你的问题是“我想最大化正确分类从未见过的对象x的概率,x是从与我的训练集相同的数据源中抽取的”,那么答案是准确率,而不是精确率或召回率。