欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

多标签问题的不同度量评估指标比较

最编程 2024-07-16 17:24:46
...
''' jaccard 测试''' from sklearn.metrics import jaccard_score, f1_score, hamming_loss, accuracy_score import numpy as np y_true = np.array([[0, 1, 0, 1, 0],[0, 0, 1, 0, 0],[1, 0, 0, 0 ,1],]) y_pred = np.array([[1, 0, 0, 0, 0],[0, 0, 1, 0 ,0],[1, 0, 0, 1, 1],]) j_macro = jaccard_score(y_true, y_pred, average='macro') j_sample = jaccard_score(y_true, y_pred, average='samples') j_micro = jaccard_score(y_true, y_pred, average='micro') ##### jaccard 算法 ###### xx= np.minimum(y_true, y_pred) intersection = np.sum(np.minimum(y_true, y_pred), axis=0) union = np.sum(np.maximum(y_true, y_pred), axis=0) jaccard_per_class = intersection / union macro_jaccard_score = np.mean(jaccard_per_class) macro_jaccard_score print('sklearn-jaccard-macro',j_macro) print('jaccard algorithm',macro_jaccard_score) # (1/2+0+1+0+1)/5=0.5 print('sklearn-jaccard-samples',j_sample) # (0+1+2/3)/3=5/9=0.55555 print('sklearn-jaccard-micro',j_micro) # 3/7=0.428571428

推荐阅读