在python中评估搜索查询结果:排名列表与手动标记的正确文档

在python中评估搜索查询结果:排名列表与手动标记的正确文档,python,metrics,information-retrieval,evaluation,precision-recall,Python,Metrics,Information Retrieval,Evaluation,Precision Recall,根据以下预测的文件列表: query1_predicted = [1381, 1637, 646, 1623, 774, 1764, 92, 12, 642, 463, 613, ...] 这是手动标记的最佳选择: query1_manual = 646 python中已经实现的信息检索是否有合适的度量标准来对结果进行排名 我不认为这对我有用,因为我错过了真正的、完整的文档列表。我假设召回率、精确性、F分数和地图也不起作用,只要我没有每个查询的手动排序结果的完整列表来指示文档的相关性 顺便说

根据以下预测的文件列表:

query1_predicted = [1381, 1637, 646, 1623, 774, 1764, 92, 12, 642, 463, 613, ...]
这是手动标记的最佳选择:

query1_manual = 646
python中已经实现的信息检索是否有合适的度量标准来对结果进行排名

我不认为这对我有用,因为我错过了真正的、完整的文档列表。我假设召回率、精确性、F分数和地图也不起作用,只要我没有每个查询的手动排序结果的完整列表来指示文档的相关性

顺便说一下:预测列表的长度等于我的收藏中的文档总数:

len(query1_predicted) = len(documents)

提前谢谢你的帮助

一个想法是将精确度和召回率指标结合起来。 例如,如果您的查询返回一个列表,其中正确的文档位于第一位,那么您可以说您的准确率和召回率为100%。如果是在第二位,你又有100%的准确率,但你的召回率下降到50%,以此类推。
我知道这种方法并不完美,但它可以通过众所周知的指标很好地了解您的结果。

谢谢您的回复!如果我说得对,我的回忆会比预期列表下的每个文档(手动选择的文档)减少1/2。所以,我可能会有一个非常低的查全率为100%的查全率。我猜我需要一个非线性的解决方案来结合这两种方法。那么F-score不是解决了这个问题吗?你能帮我用一个精确(P)和回忆(R)的公式来计算分数吗?如果正确的文档是第三个文档,回忆将下降到1/3,第四个文档将下降到1/4,依此类推。您可以尝试使用精度和召回率的f1分数。此外,ROC和精确召回曲线可以很好地了解方法的性能。