最近在学习ES的时候,偶然听到了两个词汇,分别是 查全率 和 查准率,对应的场景是在ES检索时的IK分词器力度上;
简单了解了一下,发现是一个比较有意思的概念,遂记录于此,加深印象;
为了方便理解,我们通过一个混淆矩阵来描述这种关系,其矩阵如下:
通过上述矩阵,我们可以通过一些维度,获取到我们想要的指标,比如
TPR:意为正样本中预测为正的样本比例,其公式为:
FNR:意为正样本中预测为负的样本比例,其公式为:
FPR:意为负样本中预测为正的样本比例,其公式为:
同样,通过混淆矩阵,我们还可以算出本次预测的准确率(Accuracy),及当前预测结果中,预测命中率,又称为精确度;精确度是分类正确的样本数占样本总数的比例。
关于查全率和查准率,在ES检索中使用IK分词器时,IK分词器有两种不同的分词力度,分别是粗粒度(ik_smart)和细粒度(ik_max_word);这两种分词器刚好可以照应我们这里需要了解的 查全率 和 查准率;
使用粗粒度分词,会产生的结果就是,查询的数据比较准确,但是不齐全;使用细粒度分词器,会产生的结果就是,查询的数据比较全面,但是不是很准确;
我们看一下查全率和查准率的概念;
查全率:查询的样本中为正的占查询出的数据的总量,也可以理解为 真实为正样本中有多少是预测正确的;其公式如下:
查准率:真实为正的样本中占预测为正的样本的比例:其公式如下图
查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。其模型如下图