Closed SannyZhou closed 5 years ago
For example for the hierarchical 3-level classification, the label is "z", then the complete label may be "x--y--z", in which y is father of z, and x is father is y. if is_flat == true: It computes the flat metrics, which regards "x--y--z" as one label. that is to say, "x--y--z" and "x--y--a" are different labels. if is_flat == false: It computes the hierarchical metrics, including three level's metrics: "x--y--z" (level 3), "x--y" (level 2), "x" (level 1). In fact, level3 is the flat metric in this situation.
@liqunhit Thanks for your patient answer! Regarding Table 4 in your paper, which evaluation method is implemented in the ablation study on HMC and traditional multi-label loss function?
In Table 4, is_flat=true. It computes the flat metrics (for comparing with flat models). It is worth noting that hierarchical models also have flat evaluation metrics.
Thanks for your answer!
The annotation in your 'classification_evaluate.py' indicates that it would calculate hierarchical result if is_flat is false. What is the difference between flat and hierarchical results?
if not is_flat: hierarchical_labels = label_name.split(sep)
Could you provide an example of input in the condition of hierarchical measurement results?