sklearn中多标签的评价(基于周志华老师M L-KNN :Alazylearningapproachtomulti-labellearning中的指标)

这篇论文中提出了五个评价指标,包括
在这里插入图片描述
当然,我们要去实现他们,在sklearn中实现如下

import numpy as np

from sklearn.metrics import hamming_loss
from sklearn.metrics import zero_one_loss
from sklearn.metrics import coverage_error
from sklearn.metrics import label_ranking_loss
from sklearn.metrics import average_precision_score


y_scores =np.array([[0.94,0.83,0.52,0.77,0.76],
          [0.88,0.78,0.89,0.93,0.95],
          [0.87,0.86,0.86,0.86,0.65],
          [0.78,0.98,0.86,0.98,0.79]])

y_true =np.array([[1,1,1,0,0],
          [1,0,0,1,1],
          [1,0,1,0,1],
          [1,1,0,1,1]])
y_pred =np.array([[0,1,1,1,0],
          [1,0,0,1,1],
          [1,1,0,0,0],
          [1,0,1,0,1]])

h=hamming_loss(y_true, y_pred)  
print("汉明损失:",h)

z=zero_one_loss(y_true, y_scores)
print("0-1 损失:",z)

c=coverage_error(y_true, y_scores)-1  
print("覆盖误差:",c)

r=label_ranking_loss(y_true, y_scores)
print("排名损失:",r)

a=average_precision_score(y_true, y_scores) 
print("平均精度损失:",a)
发布了111 篇原创文章 · 获赞 32 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_42738495/article/details/102515762
今日推荐