logpai / logparser

A machine learning toolkit for log parsing [ICSE'19, DSN'16]

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What do precision and recall really mean in log parsing?

kingdomrushing opened this issue · comments

Thanks for sharing this repo.
The metric used in the paper is accuracy,but precision ,recall and F1 are added in the code. I don't understand the meaning of precision and recall. Can you explain what they mean?

要搞懂precision ,recall的计算,需要先去了解一下兰德系数。这是一个通用性的聚类结果评价指标,简单来说,如果两条日志事实上属于同一个模板,在你的分类结果里也属于同一个模板,那precision就高。你可以结合logparser/utils/evaluator.py中的实现理解一下。这个指标对于日志解析事实上过于宽松了,所以大家用更严格的Group Accuracy。最近还有些更强大的算法用更更严格的Message Level Accuracy,那就是后话了。

In order to understand how to calculate precision and recall, it's important to first understand the Rand Index. This is a commonly used evaluation metric for clustering results. Simply put, if two log entries belong to the same template and are classified into the same template in your classification results, then the precision is high. You can refer to the implementation in logparser/utils/evaluator.py for a better understanding of how this works. However, this metric is too lenient for log parsing, so most people use the more stringent Group Accuracy metric. Recently, even more powerful algorithms have used the even stricter Message Level Accuracy, but that's a topic for another time. (English version translated by chatgpt)

Thanks for your explanation! @zzkluck