Ответ
Метрики для рекомендательных систем оценивают разные аспекты: точность предсказаний, качество ранжирования, разнообразие и бизнес-эффект.
1. Метрики точности предсказания рейтингов: Используются, когда система предсказывает явную оценку (например, звезды).
- RMSE (Root Mean Squared Error): Квадратичная ошибка, более чувствительна к большим отклонениям.
- MAE (Mean Absolute Error): Средняя абсолютная ошибка, более интерпретируема.
from sklearn.metrics import mean_squared_error, mean_absolute_error rmse = mean_squared_error(y_true, y_pred, squared=False) mae = mean_absolute_error(y_true, y_pred)
2. Ранговые метрики (для топ-N рекомендаций): Оценивают порядок, в котором элементы предлагаются пользователю.
- Precision@k: Доля релевантных элементов среди первых k рекомендованных.
Precision@k = (# of relevant items in top k) / k - Recall@k: Доля охваченных релевантных элементов из всех возможных.
Recall@k = (# of relevant items in top k) / (total # of relevant items) - NDCG@k (Normalized Discounted Cumulative Gain): Учитывает не только релевантность, но и позицию в списке, присваивая больший вес релевантным элементам наверху.
3. Метрики разнообразия и охвата:
- Coverage: Доля уникальных элементов из всего каталога, которые когда-либо были рекомендованы. Низкое покрытие означает, что система рекомендует только популярные товары.
- Средняя персональная диверсификация: Оценивает, насколько разные элементы внутри одного списка рекомендаций для конкретного пользователя (например, через расстояние между эмбеддингами товаров).
4. Онлайн (бизнес) метрики:
- CTR (Click-Through Rate): Процент случаев, когда пользователь кликнул по рекомендованному элементу.
- Conversion Rate: Процент рекомендаций, приведших к целевому действию (покупка, просмотр).
На практике для оффлайн-валидации часто используют Recall@k и NDCG@k, так как они хорошо отражают качество ранжирования, а для A/B-тестов — бизнес-метрики вроде CTR.