Question

When we evaluate a classifier in WEKA, for example a 2-class classifier, it gives us 3 f-measures: f-measure for class 1, for class 2 and the weighted f-measure.

I'm so confused! I thought f-measure is a balanced measure that show balanced performance measure for multiple class, so what does f-measure for class 1 and 2 mean?

Was it helpful?

Solution

The f-score (or f-measure) is calculated based on the precision and recall. The calculation is as follows:

Precision = t_p / (t_p + f_p)
Recall = t_p / (t_p + f_n)
F-score = 2 * Precision * Recall / (Precision + Recall)

Where t_p is the number of true positives, f_p the number of false positives and f_n the number of false negatives. Precision is defined as the fraction of elements correctly classified as positive out of all the elements the algorithm classified as positive, whereas recall is the fraction of elements correctly classified as positive out of all the positive elements.

In the multiclass case, each class i have a respective precision and recall, in which a "true positive" is an element predicted to be in i is really in it and a "true negative" is an element predicted to not be in i that isn't in it.

Thus, with this new definition of precision and recall, each class can have its own f-score by doing the same calculation as in the binary case. This is what Weka's showing you.

The weighted f-score is a weighted average of the classes' f-scores, weighted by the proportion of how many elements are in each class.

OTHER TIPS

I am confused too, I used the same equation for f-score for each class depending of their precision and recall, but the results are different! example: f-score different from weka claculaton

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top