File size: 1,023 Bytes
09cc9e3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import sklearn
from sklearn.metrics import roc_auc_score,precision_recall_curve,accuracy_score,matthews_corrcoef
# gt_np = [0,1,1,0]
# pred_np = [0.2,0.7,0.8,0.3]
# fps,tps,thresholds = sklearn.metrics._ranking._binary_clf_curve(gt_np, pred_np)
# precision, recall, thresholds = precision_recall_curve(gt_np, pred_np)
# print(fps,tps,thresholds) # tps An increasing count of true positives
# print(precision[:-1], recall[:-1], thresholds)
# tns = tps/recall[:-1] - tps
# print(tns + fps + tps)
# fns =
# [0. 1. 2.] [2. 2. 2.] [0.8 0.3 0.2]
# precision, recall, thresholds = precision_recall_curve(gt_np, pred_np)
# numerator = 2 * recall * precision
# denom = recall + precision
# f1_scores = np.divide(numerator, denom, out=np.zeros_like(denom), where=(denom!=0))
# max_f1 = np.max(f1_scores)
# max_f1_thresh = thresholds[np.argmax(f1_scores)]
# print('The max_f1_thresh is', max_f1_thresh)
# print('The average f1_score is', max_f1)
# print('The average acc_score is', accuracy_score(gt_np, pred_np>max_f1_thresh))
|