Initial commit
This commit is contained in:
24
packages/leann-backend-diskann/third_party/DiskANN/python/tests/fixtures/recall.py
vendored
Normal file
24
packages/leann-backend-diskann/third_party/DiskANN/python/tests/fixtures/recall.py
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT license.
|
||||
|
||||
import numpy as np
|
||||
|
||||
|
||||
def calculate_recall(
|
||||
result_set_indices: np.ndarray, truth_set_indices: np.ndarray, recall_at: int = 5
|
||||
) -> float:
|
||||
"""
|
||||
result_set_indices and truth_set_indices correspond by row index. the columns in each row contain the indices of
|
||||
the nearest neighbors, with result_set_indices being the approximate nearest neighbor results and truth_set_indices
|
||||
being the brute force nearest neighbor calculation via sklearn's NearestNeighbor class.
|
||||
:param result_set_indices:
|
||||
:param truth_set_indices:
|
||||
:param recall_at:
|
||||
:return:
|
||||
"""
|
||||
found = 0
|
||||
for i in range(0, result_set_indices.shape[0]):
|
||||
result_set_set = set(result_set_indices[i][0:recall_at])
|
||||
truth_set_set = set(truth_set_indices[i][0:recall_at])
|
||||
found += len(result_set_set.intersection(truth_set_set))
|
||||
return found / (result_set_indices.shape[0] * recall_at)
|
||||
Reference in New Issue
Block a user