我想知道如何计算多类多标签分类的精度和召回率测量,即有两个以上标签的分类,以及每个实例可以有多个标签的分类?
最佳答案
对于多标签分类,您有两种方法可以选择 首先考虑以下几点。
基于示例
指标以每个数据点的方式计算。对于每个预测标签,仅计算其分数,然后将这些分数聚合到所有数据点。
- 精度 = ,预测正确的比例有多少。分子找出预测向量中有多少标签与地面实况相同,并且比率计算有多少预测的真实标签实际上在地面实况中。
- 召回 = ,预测实际标签数量的比率。分子找出预测向量中有多少标签与真实标签有共同点(如上所述),然后找到与实际标签数量的比率,从而得出预测的实际标签的比例。
还有其他指标。
基于标签
这里的事情是按标签完成的。对于每个标签,计算指标(例如精度、召回率),然后聚合这些标签指标。因此,在这种情况下,您最终会计算整个数据集上每个标签的精度/召回率,就像二元分类一样(因为每个标签都有一个二元分配),然后对其进行聚合。
简单的方法是呈现一般形式。
这只是标准多类等效项的扩展。
这里 $B$ 代表任何基于混淆矩阵的指标。在您的情况下,您将插入标准精度和召回公式。对于宏观平均,您传入每个标签计数,然后求和,对于微观平均,您首先对计数进行平均,然后应用度量函数。
您可能有兴趣查看多标签指标的代码 here ,这是包的一部分 mldr在 R 。此外,您可能有兴趣查看 Java 多标签库 MULAN .
这是一篇很好的论文,可以了解不同的指标:A Review on Multi-Label Learning Algorithms
关于machine-learning - 多类多标签分类的精度/召回率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004172/