def print_performance(cm):
tp = np.diagonal(cm).astype(np.float)
tpfp = np.sum(cm, axis=0).astype(np.float) # sum of each col
tpfn = np.sum(cm, axis=1).astype(np.float) # sum of each row
acc = np.sum(tp) / np.sum(cm)
precision = tp / tpfp
recall = tp / tpfn
f1 = (2 * precision * recall) / (precision + recall)
mf1 = np.mean(f1)
print "Sample: {}".format(np.sum(cm))
print "W: {}".format(tpfn[W])
print "N1: {}".format(tpfn[N1])
print "N2: {}".format(tpfn[N2])
print "N3: {}".format(tpfn[N3])
print "REM: {}".format(tpfn[REM])
print "Confusion matrix:"
print cm
print "Precision: {}".format(precision)
print "Recall: {}".format(recall)
print "F1: {}".format(f1)
print "Overall accuracy: {}".format(acc)
print "Macro-F1 accuracy: {}".format(mf1)
评论列表
文章目录