当某些测试数据仍未分类时如何计算精度和召回率

机器算法验证 机器学习 分类
2022-03-26 10:38:13

考虑我们正在运行分类器的情况(实际的分类算法在这里无关紧要),并且基于分数给出类标签。如果 score > 0,则数据点标记为 A,如果 score < 0,则数据点标记为 B。

所有的训练数据都包含分数为正或负的数据点。但是,在我的测试数据中,有几个点返回 score = 0。在某些点无法分类到任何类别的情况下,我应该如何测量精度和召回率?


[来自下面评论的附加信息]我在情绪分类任务中遇到了这个问题。归一化分数在 [-1,1] 范围内,0 是没有情感的文档的分数。碰巧我的训练数据中没有中性文档,但在测试数据中,一些文档返回了 0 分。

1个回答

请记住,精确度/召回率本质上与特定状态或感兴趣的标签相关联,这一点很有用。在信息检索中,该标签可能是“相关”而不是“不相关”,而在癌症中,该标签可能是“恶性”而不是“良性”。

正如@Thomas Jungblut 所提到的,不将其视为二元分类问题(“A”或“B”)而是将其视为多类分类问题(“A”、“B”或“未分类”)是有效的。除了精度/召回率之外,还有其他指标可能对多类分类感兴趣。但是,如果您坚持精确/召回,那么您必须选择您感兴趣的标签,然后这种类型再次成为事实上的二元分类。对于如何界定问题,您有多种选择(“A”与“B 或未分类”与“A 或未分类”与“B”等不同)。但是,实际上这些与简单地选择默认标签相同。

由于您似乎对 0 的分类分数赋予了特殊含义,因此似乎也可以应用一些领域知识或正在使用的特定分类算法的一些知识。在一般情况下,分数为 0 并没有什么神奇之处,但也许您确实有一个特定的问题,但事实并非如此。