sepandhaghighi/pycm

Micro F1 equals accuracy

wiedenhoeft opened this issue · 8 comments

This is not really a bug per se, but micro-averaged F1 is mathematically identical to overall accuracy (assuming you use the definition of Özgür, Özgür and Güngör, 2005), and hence should not be reported separately.

Yeah it's right, PPV_Micro == TPR_Micro == F1_Micro == Overall ACC.
@alirezazolanvari Would you please double-check and advise if there is any problem?🥇

@sepandhaghighi I checked it and mathematically proved that this statement is true if and only if each sample was assigned to a single class (because we should consider overall FP and overall FN equal). Please let me know if I should provide the mathematical proof here.

@sepandhaghighi I checked it and mathematically proved that this statement is true if and only if each sample was assigned to a single class (because we should consider overall FP and overall FN equal). Please let me know if I should provide the mathematical proof here.

@alirezazolanvari Thanks for your effort 💯
Yeah, if it's possible please paste it here. And what is your opinion?

In my opinion, it's better to report them all, but In terms of time optimization, it's better to calculate only one of them.

In my opinion, it's better to report them all, but In terms of time optimization, it's better to calculate only one of them.

Good 👍
Do you have enough time to work on it?
It's straight forward, we should replace all TPR_PPV_F1_micro by overall_accuracy in overall_statistics function.

@alirezazolanvari Just a friendly reminder ⏲️

Sorry for my late response!
I'll do that. Just let me know if I must do it in another branch rather than dev and then submit a pull request.

Sorry for my late response!
I'll do that. Just let me know if I must do it in another branch rather than dev and then submit a pull request.

@alirezazolanvari Please create a new PR (from a new branch under dev to dev)