-
Метод 1: использование функции
metrics.recall_scoreScikit-learn:from sklearn.metrics import recall_score def calculate_recall_at_k(true_labels, predicted_labels, k): top_k_predicted = predicted_labels[:k] return recall_score(true_labels, top_k_predicted) -
Метод 2: вычисление отзыва вручную при k:
def calculate_recall_at_k(true_labels, predicted_labels, k): top_k_predicted = predicted_labels[:k] relevant_items = sum(true_labels) true_positives = sum(top_k_predicted * true_labels[:k]) return true_positives / relevant_items -
Метод 3. Использование NumPy и Scikit-learn:
import numpy as np from sklearn.metrics import recall_score def calculate_recall_at_k(true_labels, predicted_labels, k): top_k_indices = np.argsort(predicted_labels)[-k:] top_k_predicted = predicted_labels[top_k_indices] top_k_true_labels = true_labels[top_k_indices] return recall_score(top_k_true_labels, top_k_predicted)
Эти методы рассчитывают запоминаемость при k, которая измеряет долю релевантных элементов среди предсказанных меток из топ-k.