每一个事物可能对应多个标签,例如一个人的身份可以是学生、老师、歌手等多重身份。
1、基于相似度的评价指标
1.1 hamming_loss
metrics.hamming_loss(np.array([[0, 1], [1, 1]]), np.zeros((2, 2)))
1.2 jaccard_similarity_score
metrics.jaccard_similarity_score(np.array([[0, 1], [1, 1]]), np.ones((2, 2)))
2、基于排序的评价指标(ranking metrics)
2.1 Coverage error
真实label的二分类指示矩阵为
每个label相关的分值为
Coverage的定义为
表示概率大于fij的元素的个数。
y_true = np.array([[1, 0, 0], [0, 0, 1]])
y_score = np.array([[0.75, 0.5, 1], [1, 0.2, 0.1]])
metrics.coverage_error(y_true, y_score)
2.2 Label ranking average precision
为0范数,
表示向量中非0元素的个数。
metrics.label_ranking_average_precision_score(y_true, y_score)
2.3 Ranking loss
正确类别的得分小于错误类别的损失。
metrics.label_ranking_loss(y_true, y_score)