多分类中accuary与micro F1-score的恒等性

发现在多分类问题(这里『多分类』是相对于『二分类』而言的,指的是类别数超过2的分类问题)中,用sklearnmetrics.accuracy_score(y_true, y_pred)float(metrics.f1_score(y_true, y_pred, average="micro"))计算出来的数值永远是一样的,在stackoverflow中搜索这个问题Is F1 micro the same as Accuracy?
也搜到micro F1 score与accuracy数值是相等的,遂证明如下:
定义TP/FP/FN为多分类问题各类的tp/fp/fn之和,三者之间的关系有如下引理(其中ALL是总样本数)。
引理:

FP = FN = F
F + TP = ALL

引理的证明:FPFN恒等性的简单证明:
考虑多分类问题的混淆矩阵,FPFN的值都是混淆矩阵所有非对角线的值求和,只不过FP计算时是先对列求和再对行求和,FN计算时是先对行求和再对列求和。由于FPFN恒等,故可以统一记作F. 而TP是混淆矩阵的对角线和。引理证毕
下面计算micro PrecisionP, micro RecallR, micro F1 score F1:

P = TP / (TP + FP)

R = TP / (TP + FN)

F1 = 2 * P * R / (P + R) 
= 2 * TP / (2 * TP + FP + FN) 
= 2 * TP / (2 * TP + 2 * F) 
= TP / (TP + F) 
= TP / ALL
= acc

其中acc是多分类的accuracy. 证毕

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值