3

我正在尝试绘制精确召回曲线,但我有比相关文档更多的文档推荐。假设对于一个训练示例,只有 3 个相关文档:A、C、E。但它可能是从 A 到 Z 的所有文档。然后我将其向量化为:

原始 = [1, 0, 1, 0, 1, ... ]

假设我的预测对 A、C、E 具有最大的值,而对所有其他文档具有较小的值:

预测 = [0.9, 0.1, 0.8, 0.1, 0.7, ... ]

然后我计算前 k 个预测的精度和召回率,首先仅使用具有 {0.9} 的预测,然后使用 {0.9 , 0.8} 和 {0.9, 0.8, 0.7} 的预测。在那之前我的精度是1。但是在那之后,精度只能下降,因为没有更多的相关文件。继续用 {0.9, 0.8, 0.7, 0.1, ...} 计算精度/召回率是否正确?

我想我通过提问找到了这个缺陷,当我返回建议 {0.9, 0.8, 0.7} 时,不仅精度为 1,而且召回率也是如此。那我应该停下来退回文件,对吧?

编辑:解释是可以返回更多文档,但是在返回所有相关文档后,召回率保持为 1,并且精度直线下降。

4

1 回答 1

0

似乎这取决于您的曲线的相关尺寸是什么,即您想要测量其效果的参数是什么?

例如,如果有趣的参数是 k,即返回的文档数,那么您可以将其从 1 更改为某个 n,并计算每个点的 P/R(实际上,您可能会在通过某个特定点后得到一条非常陡峭的线)价值)。

您还可以使用其他 sachem,例如使用阈值 - 返回分数大于 some 的所有文档。在这种情况下,您可以将 s 从 1 变为 0.1,并计算每个点的 P/R。

假设您在多个测试实例上执行测试,人们会期望匹配文档的确切数量会有所不同;因此,对于给定的(合理的)k,平均精度和召回率将小于 1,即使对于特定实例之一,相关文档的数量小于 k。

于 2012-09-10T13:27:51.927 回答