多标签分类作为多分类的一种推广,每个样本可以有多个类别,如下图的标签为:sea,sunset。所以其评价指标与多分类的也有差异,本文将介绍几种评价指标。
1.Hamming loss(汉明损失),表示所有label中错误样本的比例,所以该值越小则网络的分类能力越强。计算公式如下。
其中:|D|表示样本总数,|L|表示标签总数,xi和yi分别表示预测结果和ground truth。xor表示异或运算。
样例:
from sklearn.metrics import hamming_loss
y_pred = [1, 2, 3, 4]
y_true = [2, 2, 3, 4]
hamming_loss(y_true, y_pred) #输出结果为0.25
hamming_loss(np.array([[0, 1], [1, 1]]), np.zeros((2, 2))) #输出结果为0.75
2. Jaccard index(杰卡德指数),概念挺陌生,公式是再熟悉不过了。其中:T表示ground truth,P表示预测结果。再观察这个公式,和检测算法中的IOU多么相近。
3. 精度、召回率和F1值。其中精度计算公式为,召回率计算公式为,F1值的计算为精度和召回率的调和平均数。
4. 准确匹配。这个是最严格的标准了,是预测结果和ground truth完全一致时的样本数与总的样本数的比值。
参考文献:https://en.wikipedia.org/wiki/Multi-label_classification