机器学习中的评价指标理解

精准率与召回率

看到的很多文章好像都挺喜欢用正类反类来作为例子进行公式说明。
但我在理解之后,觉得这样好像不是十分妥当。
一是,针对我的业务我可能需要去理解什么是正类,什么是反类,不是label为0就是反类吧。
二是,基于一,就有了问题,何为正?何为反?正反的定义对于指标的理解是否有意义或是帮助?我认为,正反的定义是不必要的。

所以,我觉得。直接使用(某类-另一类)或(某类-[其它类])可以更好的理解指标意义。
总而言之,精准率与召回率指标的定义与所谓正反是无关的,它是基于某类的。
所以:
精准率:某类预测量中实际正确所占比例
召回率:某类实际量中预测正确所占比例

使用某类则可以直接扩展到多类的场景而不需要做什么多余的改变。每个类别都会有自己的精准率与召回率,所以使用某类。
例子就贴一张sklearn.metrics计算的几个指标值以及混淆矩阵,可以手动带入公式看看具体是怎么算的,有助于理解。Markdown

classification report中的avg是使用加权平均计算的,权为样本数量。