ML Vault
All notes

Метрики RecSys

Similarity metrics
Predictive metrics
Classification metrics


Relevant Not relevant
Recommended top k True Positive (TP) False Positive (FP)
Not recommended False Negative (FN) True Negative (TN)

1. Precision@K

Описание:
Доля релевантных рекомендаций среди первых K предложенных элементов.
Как считать:
$$\text{Precision@K} = \frac{\text{Количество релевантных элементов в топ-K}}{K}$$
Когда используется:
Когда важно, чтобы пользователю предлагались максимально релевантные элементы в верхней части списка рекомендаций.
Плюсы:
• Простота расчёта и интерпретации.
• Фокусируется на точности верхних рекомендаций.
Минусы:
• Не учитывает порядок релевантных элементов внутри топ-K.
• Не отражает полноту рекомендаций (сколько из всех возможных релевантных элементов было предложено).

2. Recall@K

Описание:
Доля релевантных элементов, предложенных в топ-K, от общего числа релевантных элементов для пользователя.
Как считать:
$$\text{Recall@K} = \frac{\text{Количество релевантных элементов в топ-K}}{\text{Общее количество релевантных элементов для пользователя}}$$
Когда используется:
Когда важно охватить как можно больше релевантных элементов в рекомендациях.
Плюсы:
• Отражает способность системы находить все релевантные элементы.
Минусы:
• Не учитывает позицию релевантных элементов в списке рекомендаций.
• Может быть менее информативен при большом количестве потенциально релевантных элементов.

AP@N

m - количество релевантных предметов
N - количество предлагаемых рекомендаций

3. Mean Average Precision at K (MAP@K)

Описание:
Среднее значение точности на различных уровнях полноты до K-го элемента.
Как считать:

  1. Вычисляется Average Precision (AP) для каждого пользователя:
    $$\text{AP} = \frac{\sum_{i=1}^{K} (\text{Precision@i} \times \text{релевантность элемента на позиции } i)}{\text{Общее количество релевантных элементов для пользователя}}$$
  2. MAP@K — это среднее значение AP по всем пользователям.
    Когда используется:
    Когда важно учитывать как точность, так и полноту рекомендаций, а также порядок релевантных элементов в списке.
    Плюсы:
    • Учитывает как точность, так и полноту.
    • Отражает позицию релевантных элементов в рекомендациях.
    Минусы:
    • Более сложен в расчёте по сравнению с Precision и Recall.
    • Может быть чувствителен к пользователям с большим количеством релевантных элементов.

4. Normalized Discounted Cumulative Gain (NDCG@K)

Описание:
Метрика, учитывающая не только наличие релевантных элементов в рекомендациях, но и их позицию, придавая больший вес элементам, расположенным выше в списке.
Как считать:

  1. Вычисляется DCG@K (Discounted Cumulative Gain):
    $$\text{DCG@K} = \sum_{i=1}^{K} \frac{2^{\text{релевантность элемента на позиции } i} - 1}{\log_2(i + 1)}$$
  2. Вычисляется IDCG@K (Ideal DCG) — максимальное возможное значение DCG@K при идеальном ранжировании.
  3. NDCG@K = DCG@K / IDCG@K
    Когда используется:
    Когда важно учитывать не только наличие релевантных элементов в рекомендациях, но и их позицию в списке.
    Плюсы:
    • Учитывает порядок релевантных элементов.
    • Придаёт больший вес верхним позициям в списке рекомендаций.
    Минусы:
    • Более сложен в расчёте.
    • Требует определения степени релевантности элементов (например, бинарная или многоуровневая релевантность).
    Ограничения оценки nDCG заключаются в том, что она не наказывает за ложные срабатывания. Например, [3] и [3, 0, 0] дают одинаковый nDCG, но во втором результате есть 2 нерелевантные рекомендации. Кроме того, он может не подойти для рекомендательных систем, в которых есть несколько одинаково хороших результатов.

5. Mean Reciprocal Rank (MRR)

Описание:
Среднее значение обратного ранга первого релевантного элемента в списке рекомендаций.
Как считать:
$$\text{MRR} = \frac{1}{|U|} \sum_{u \in U} \frac{1}{\text{ранг первого релевантного элемента для пользователя } u}$$
где  |U|  — общее количество пользователей.
Когда используется:
Когда важно, чтобы первый релевантный элемент появлялся как можно выше в списке рекомендаций.
Плюсы:
• Простота расчёта и интерпретации.
• Фокусируется на позиции первого релевантного элемента.
Минусы:
• Игнорирует остальные релевантные элементы после первого найденного.
• Может быть нечувствителен к общему качеству ранжирования списка.

двухуровненвые