赞
踩
已经很久没有更新新的文章啦,最近在弄GCN,很多东西的理解都还没有很透彻,所以也不太好发,不过就在今天“南归”的时候刷知乎,刷到了这么一个朋友( @苏小胖与喵 )的疑问:
这。。。么简单的问题。。。。
我还真没思考过。。。。调包侠调sklearn习惯了,殊不知岁月静好有人为我负重前行,所以到底哪种计算方式才是正确的我不太好说,不过sklearn的方式是值得探究探究。
于是,就直接做了个小实验:
大致思路如下:
当前只有两种已知计算方式:先计算macro_precision和macro_recall,之后将二者带入f1计算公式中
直接计算每个类的f1并取均值
因此我们只需要验证其中一种就行啦~反正二者答案不同,首先我们构建数据集:
import numpy as np
#三分类问题
trueY=np.matrix([[1,2,3,2,1,3,1,3,1,1,3,2,3,2]]).T
testY=np.matrix([[1,2,3,2,2,3,1,3,1,1,3,2,3,2]]).T
然后,调用sklearn获取这些值的macro_f1值(变量oriF1)
from sklearn.metrics import f1_score,precision_score,recall_score
oriF1=f1_score(trueY,testY,average="macro")
print("sklear
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。