这篇论文中提出了五个评价指标,包括
当然,我们要去实现他们,在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)