问题标签 [precision-recall]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
42769 浏览

performance - 什么是坏的、体面的、好的和优秀的 F1 测量范围?

我理解 F1-measure 是精度和召回率的调和平均值。但是什么值定义了 F1 度量的好坏?我似乎找不到任何参考资料(谷歌或学术)回答我的问题。

0 投票
0 回答
120 浏览

apache-spark - Area Under ROC 得分不好,但 Area Under Precision-Recall 高?

我正在 Apache Spark 中进行一些分类,但我不确定如何解释我的结果。我得到一个非常糟糕的 auROC (0.53),但非常高的 auPR (0.79)。

这些结果对我来说似乎有点矛盾,我应该如何解释呢?

0 投票
1 回答
84 浏览

java - 如何确定精确和召回计算中的相关组是什么?

一个系统最著名的测量方法之一information retrieval是计算它的precisionrecall。对于这两种情况,我们都需要计算相关文档的总数,并将其与系统返回的文档进行比较。我的问题是,我们如何super set在以下情况下找到相关文件:

假设我们有一个学术搜索引擎,它的工作是接受学术论文的全名,并基于一些算法,返回相关论文的列表。在这里,为了判断系统是否具有良好的准确率,我们希望计算其准确率和召回率。但是我们不知道如何生成一组相关论文——搜索引擎应该返回它们,关于不同用户的查询——并相应地计算精度和召回率。

0 投票
1 回答
334 浏览

solr - solr 中的精度、召回率、ROC

我最后的任务是做一个搜索引擎。我正在使用 solr 从本体中访问和检索数据,这些数据稍后将用作语料库。我对这些(信息检索、本体、python 和 solr)完全陌生。

信息检索中有一个步骤来评估查询结果。我打算使用 Precision、Recall 和 ROC 分数来评估这一点。有什么方法可以使用 solr 中的函数来计算精度、召回率和 ROC 的分数?从 solr 界面甚至后面的代码都无关紧要。

0 投票
0 回答
85 浏览

metrics - 如何计算返回问题答案的简单 IR 系统的准确率、召回率、F1score?

我开发了一个 IR 系统,它通过在数据库中应用一些搜索技术来返回用户问题的答案。我想用 f1-Score 评估它的性能,但由于结果的可能状态可能是正确或错误的答案,我对 TP、TN、FP、FN 会是什么感到有点困惑。有任何想法吗?或者更合适的测试?

0 投票
1 回答
120 浏览

scikit-learn - NB 精度/召回平均值/总分计算的差异

我正在进行文本分类分析并运行基于 NB 的分类器,产生以下结果:

令我困惑的是以下问题。为什么平均/总分的计算方式不同?为什么第二个表中的平均/总分只是第 1 类的精度/召回结果的副本?因为没有 0 类测试实例?

问候,

古兹登

0 投票
0 回答
1121 浏览

opencv - 如何正确绘制 OpenCV Cascade 分类器的 Precision-Recall Curve (PRC)?

我正在关注Steven Puttemans 的 OpenCV 3 Blueprints 第 5 章工业应用对象检测

训练成功完成,我计算出的 F1 分数约为 0.86,这在 523 张图像的训练数据集上得到了验证(只是为了测试训练是否正常)。

前任。

然而,我的主要问题是绘制 Precision-Recall Curve (PRC) 曲线,正如第 5 章所建议的,我们可以使用 ff. 输出分数:

但我得到的分数变化很小:

这为精确召回提供了相当小的值:

前任。坐标.txt

使用上述值,我无法获得像样的 PRC 曲线。我不太确定这里有什么问题......虽然,我可以使用我在此处修改的 detect_simple.cpp 计算 Precision-Recall 值:

前任。输出:

0 投票
1 回答
369 浏览

matlab - 在使用 Matlab 计算平均平均精度召回时,无法找出数据库中的基本事实

假设我有以下大小的数据集:

truth_nn 包含预先计算的k最近邻及其平方欧几里得距离形式的地面实况邻居。所以,truth_nn 的列代表k = 100最近的邻居。我发现很难在代码片段中应用最近邻搜索。有人可以展示如何应用地面实况邻居 truth_nn来找到平均精度召回吗?

如果有人可以通过以预先计算的 k 个最近邻及其平方欧几里德距离的形式创建任何数据矩阵、查询矩阵和地面实况邻居来展示任何小示例,这将是非常有帮助的。我尝试创建一个示例数据库。

假设基础数据为

查询数据是

会找到 2 个最近的邻居。

问题 1:如何创建包含地面实况邻居和预先计算的 k 个最近邻距离的实况数据?这称为平均平均精度召回。我尝试如下实现最近邻搜索和平均精度召回,但无法理解(不确定)如何应用地面真值表

问题2:

我试图k通过首先将实值特征转换为二进制来应用最近邻搜索。

我无法将 k 最近邻搜索的概念应用于 k = 10、20、50 的不同值,也无法检查使用 GIST 数据库正确调用了多少数据。在 GIST truth_nn() 文件中,当我指定truth_nn(i,1:k)查询向量 i 时,函数 AveragePrecision 会引发错误。因此,如果有人可以展示使用与 GIST 中结构相似的任何样本基础事实,如何正确指定 k 并计算平均精度召回,那么我将能够将该解决方案应用于 GIST 数据库。到目前为止,这是我的方法,如果使用任何示例提供正确的方法,我将更容易与 GIST 数据库相关联,这将有很大的帮助。问题是如何从地面实况中找到邻居并将其与对距离进行排序后获得的邻居进行比较?

我也对如何应用pdist2()而不是当前距离计算感兴趣,因为这需要很长时间。

更新:基于解决方案,我尝试使用此处给出的公式参考代码来计算平均精度。但是,不确定我的方法是否正确,因为理论说我需要根据索引对返回的查询进行排名。我不完全理解这一点。判断检索算法的质量需要平均精度。

ap = infinity 的值,positive = 0 和negatives = 150 的值。这意味着 knnsearch() 根本不起作用。

0 投票
2 回答
8522 浏览

python - sklearn.metrics.precision_recall_curve:为什么精度和召回返回数组而不是单个值

我正在计算我最近准备的数据集上现成算法的精度和召回率。

这是一个二元分类问题,我希望为我构建的每个分类器计算精度、召回率和 f 分数。

构建分类器方法基本上构建一个分类器,拟合一个训练数据并返回 test_x(测试数据的特征)、test_y(地面实况标签)、predict(分类器做出的预测)、red_prob(LogisiticRegression.predict_proba方法的预测概率) .

下面是计算precision-recall的代码:

我不明白为什么是精度和召回数组?它们不应该只是单个数字吗?

由于精度是按照定义计算的,tpf/(tpf+fpf)并且召回率与定义类似?

我知道通过以下代码计算平均精度召回,但不知何故看到数组而不是 tpf、fpf、精度和召回让我想知道发生了什么。

编辑:但如果没有averageandpos_label参数,它会报告每个类的精度。有人可以解释这两种方法的输出之间的区别吗?

0 投票
1 回答
8530 浏览

python - 使用 Tensorflow CNN 分类器获得精度和召回值

我想知道是否有一个简单的解决方案来获取分类器类的召回率和精度值?

为了说明一些情况,我在 Denny Britz 代码的帮助下使用 Tensorflow 实现了一个 20 类 CNN 分类器:https ://github.com/dennybritz/cnn-text-classification-tf 。

正如您在 text_cnn.py 末尾看到的那样,他实现了一个简单的函数来计算全局精度:

关于我如何做类似的事情来获得不同类别的召回和精度值的任何想法?

也许我的问题听起来很愚蠢,但老实说,我对此有点迷茫。谢谢您的帮助。