I've read this question, and basically I'm having the same issue.
I'm dealing with a binary classification problem.
I'm calculating the precision, recall and f1 using scikit
method called precision_recall_fscore_support
. I'm explicitly passing average='weighted'
.
For the accuracy, I'm using also a scikit
method, accuracy_score
.
Every time I run my program I get the same vaues for recall and accuracy. I've also calculated the accuracy by hand (number of correct predictions divided by total number of predictions) and the results are the same from accuracy_score
method.
I can see that the recall calculation will work the same as the accuracy calculation if we consider all prediction results (no matter the class), but shouldn't the average='weighted'
calculate the recall for each class separately and get an an weighted average from it?