quaterion.eval.pair.retrieval_precision 模块

class RetrievalPrecision(k=1, distance_metric_name: ~quaterion.distances.Distance = Distance.COSINE, reduce_func: ~typing.Callable | None = <built-in method mean of type object>)[source]

基类:PairMetric

计算基于对的数据集的检索精度@k

参数:

k – 在其中搜索相关文档的数量
  • distance_metric_name – 用于计算距离或相似性矩阵的距离度量名称。可用名称可在 Distance 中找到。

  • reduce_func – 用于聚合计算度量的函数。例如 torch.meantorch.max 等。如果您想捕获一些自定义参数,functools.partial 可能会很有用。

  • 示例

假设 k 为 4。那么只有 4 个文档被检索作为查询响应。其中只有 2 个是相关的,分数将是 2/4 = 0.5。

注意

如果 k 大于相关文档的总数,则 precision@k 的分数将始终小于 1。

raw_compute(distance_matrix: Tensor, labels: Tensor)[source]

计算检索精度

distance_matrix – 包含嵌入之间距离的矩阵。假设嵌入到自身的距离是无意义的。(例如,等于矩阵最大元素 + 1)

k – 在其中搜索相关文档的数量
  • labels – 用于计算度量的标签。假设对象到自身的标签已变为无意义。(例如,设置为 0)

  • 返回:

torch.Tensor - 计算的度量

retrieval_precision(distance_matrix: Tensor, labels: Tensor, k: int)[source]

根据距离矩阵、标签和 k 计算检索精度@k

distance_matrix – 对角线上具有最大可能距离值的距离矩阵

k – 在其中搜索相关文档的数量
  • labels – 对角线上具有 False 或 0. 的标签矩阵

  • k – 要检索的文档数量

  • torch.Tensor – tensor 中每一行的检索精度@k

torch.Tensor - 计算的度量


使用 Sphinx 构建,采用由 Read the Docs 提供的主题

RetrievalPrecision

GitHub

探索 Qdrant

相似性学习

探索使用相似性学习解决实际问题

学习相似性学习

寻找处理类似问题的人并获得问题的答案