Реклама

Нет записи о покупке — нет покупки? Как реальные данные изменили постановку задачи

#Остальные #Coveo #LightGBM #HTTP #Почему

Для оценки рекомендательной системы я подготовила 60 000 сессий, но Hit@20 посчитала только по 748. Остальные не стали автоматически промахами: отсутствие записи о покупке ещё не доказывает, что посетитель ничего не купил. На данных Coveo это заставило меня пересмотреть цель, подготовку данных и обучение. В статье разбираю на простом примере, какие действия может видеть модель, откуда берутся нулевые метки и почему промахи отбора кандидатов должны оставаться в метрике. Все эти правила уже работают в проекте с графом товаров, LightGBM и локальным HTTP API. Код и инструкция воспроизведения доступны в репозитории. Почему в метрике 748 сессий?

При подготовке данных Coveo для сессионной рекомендательной системы мне пришлось разобраться, как учить и проверять модель, если неизвестно, все ли покупки попали в выгрузку.

Для итоговой оценки на Coveo я подготовила 60 000 сессий. Но Hit@20 посчитала только по 748: в них есть зарегистрированная покупка после запроса. Модель дала 441 попадание — 58,96%.

Что произошло с остальными 59 252 сессиями? Я не записала их в промахи. Если строки purchase нет, это ещё не значит, что посетитель ничего не купил.

В первой статье я описала сессионную рекомендательную систему на Coveo: граф и другие источники находят товары-кандидаты, а LightGBM выбирает до 20 рекомендаций. Модель уже обучена, качество измерено, есть локальный HTTP API.