问题标签 [average-precision]
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.
r - R中的平均平均精度
我们如何计算 R 中的平均精度分数?有没有简单的方法?
我计算如下。我不知道这是否完全正确。。
scikit-learn - Scikit Learn:偏斜的平均精度报告
我正在使用 scikit-learn 执行二进制分类,但是标签在整个数据集中分布不均匀。对于我对预测少数类感兴趣的情况,我对metrics.average_precision_score
. 当我运行实验并打印分类报告时,我看到总体精度方面表现良好,但这显然来自模型在预测多数类方面做得很好,如下所示:
然后将average precision
其报告为0.9752
. 这个平均精度分数显然是针对大多数班级报告的,这并不是我真正感兴趣的班级。是否有某种方法可以修改metrics.average_precision_score
函数以报告与少数感兴趣类别相关的指标?任何见解将不胜感激 - 感谢您的阅读。
python - 在 pandas 中具有重复索引的数据帧上应用滚动平均函数
我很难在以下包含重复索引的数据框中使用 pd.rolling_mean 函数:
我需要计算“金额”的 3 天平均值,例如,从20140101
to的平均值20140103
应该是(3+4+3+5+1)/5=3.2
,从 20140104 到 20140106 的平均值应该是(5+6+2)/3=4.3
有人知道怎么做吗?先感谢您!
r - 删除行中的 NA,如果 NA 位于 R 中,则移动右侧的单元格也是唯一值
好的,所以我在 R 中有一个这样的数据框
所以,这就是我要找的
我这样做是为了 MAP@k 指标,所以数字的顺序(左边的比下一个更重要)儿子保持顺序很重要。
这是我正在寻找的输出
谢谢您的帮助
c++ - 高精度计算平均值的最佳策略
我正在比较两种计算随机数平均值的算法。
- 第一个算法将所有数字相加并除以最后的项目数
- 第二种算法计算每次迭代的平均值,并在收到新数据时重用结果
我想这里没有什么革命性的东西,而且我不是数学家,所以我不能为这两种算法命名。
这是我的代码:
输出是:
差异肯定是由于double
类型精度。
到底哪一个是好方法?哪一个给出了真正的数学平均值(或最接近......)?
python - 平均精度@k 平均召回率@k
我有两组用户会话。每组包含两列:
- 在线商店中查看商品的
ID - 在线商店中购买商品的 ID
一组必须用于火车(顶级产品评级),第二组必须用于测试。
所有购买的物品的 id 都是不同的。
我需要做:
1. 在测试集上计算查看和购买 id 的频率(一个 id 可以在查看的项目中出现多次)
2. 实现两种推荐算法:
- 按受欢迎程度对查看的 id 排序(查看的项目中出现的频率)
- 通过购买对查看的 id 进行排序(购买项目中出现的频率)
3. 使用此算法我需要计算AverageRecall@1、AveragePrecision@1、AverageRecall@5、AveragePrecision@5
重要:
- 用户没有购买任何东西的会话,质量评估规则。
- 如果在训练集中没有找到该物品,则其受欢迎程度为0。
- 需要推荐不同的物品。并且它的数量应该不超过不同用户查看项目的数量。
- 推荐永远不会大于两个数字的最小值:查看项目的数量和召回率@k/精度@k中的k。
我使用 OrderedDict 执行的第一项任务(计算频率)。对于第二个任务,我使用函数:
但我不知道如何计算第三个任务(每个 k 的平均召回率等)以及如何处理 OrderedDict。
mean - 关于(平均)平均精度的困惑
在这个问题中,我询问了有关精确召回曲线的说明。
特别是,我问我们是否必须考虑固定数量的排名来绘制曲线,或者我们可以合理地选择自己。根据答案,第二个是正确的。
但是现在我对平均精度 (AP) 值有很大的疑问:AP 用于在数值上估计我们的算法在给定特定查询的情况下有多好。平均平均精度 (MAP) 是多个查询的平均精度。
我的疑问是:如果 AP 根据我们检索到的对象数量而变化,那么我们可以调整此参数以发挥我们的优势,以便我们显示可能的最佳 AP 值。例如,假设 pr 曲线在 10 个元素之前表现出色,然后非常糟糕,我们可以“欺骗”仅考虑前 10 个元素来计算 (M)AP 值。
我知道这听起来可能令人困惑,但我在任何地方都没有找到任何关于此的内容。
python - 张量流中的平均精度(mAP)
我需要使用 Tensorflow 计算此问题中描述的用于对象检测的mAP。
平均精度(AP)是用于排名集的典型性能度量。AveragePrecision 定义为范围 S 中每个真阳性、TP 之后的精度分数的平均值。给定范围 S = 7,以及排名列表(增益向量) G = [1,1,0,1,1,0 ,0,1,1,0,1,0,0,..] 其中 1/0 分别表示与相关/非相关项目相关的增益:
AP = (1/1 + 2/2 + 3/4 + 4/5) / 4 = 0.8875。
平均平均精度(mAP):一组查询的平均精度值的平均值。
我得到了 5个带有预测的One-Hot张量:
其中单个预测张量具有这种结构(例如 prediction_A):
然后我得到了正确的标签(单热)张量,具有相同的结构:
我想使用tensorflow计算mAP,因为我想总结一下,我该怎么做?
我找到了这个函数 ,但我不能使用它,因为我有一个多维向量。
我还编写了一个计算AP的 python 函数,但它不使用 Tensorflow
information-retrieval - IR 计算不同相关文档的平均精度以排名 K
上图显示了文档检索设置中精度和召回率的标准示例。
要计算排名 1 的平均精度,您只需执行以下操作:
(1.0 + 0.67 + 0.75 + 0.8 + 0.83 + 0.6) / 6 = 0.78
上面的示例非常适合小型文档集合,但假设您有一个包含 100,000 个文档的搜索引擎,而一个查询可能包含 100 个相关文档。如果将 K 的长度保持在 10,将如何调整上述内容?
一个例子:
已确定 Ranking #1 的查询有 20 个相关文档,以上是否变为:
(1.0 + 0.67 + 0.75 + 0.8 + 0.83 + 0.6) / 20 = 0.23
还是您仍然除以 6,因为那是长度为 K 的等级内的相关文档的数量?