TGViewer
Ebout Data Science | Дима Савелко Ebout Data Science | Дима Савелко @eboutdatascience · 7.74K subscribers
Post #31 887
Как сделать рекомендательную систему 🧮

Мне дали тестовое задание после выигранного хака от Росэлторга 😎
На вход: у вас есть услуга ,и её надо продать. Также есть её описание: цена, категория, площадка продажи и тд.
На выход: топ покупателей, которые в потенциале могут заинтересовать этой услугой

Решение:
1️⃣ Преподготовка данных.
Датасеты, которые мне дали были довольно таки большие, поэтому я разбил его на рандомные строки и смерджил
Почистил их, сгенерил пару фич и свалидировал на основании времени
Дефолтная скучная фигня в данном случае

2️⃣ Обучение модельки
На одну услугу претендует несколько продавцов, но выигрывает только один. Поэтому я решил задачу бинарной классификации (чи купил/чи не купил).
ROC-AUC = 0.907 | PR-AUC = 0.955
Репозиторий с хорошими примерами использования CatBoost

3️⃣ Формирование эмбеддинга
Также в данных было описание: "Продам ребёнка машину недорого 3-х лет "
Найдя похожие записи про продажи детей машин, я бы сократил мою выборку, над которой работала уже обученная модель, в несколько раз
Я использовал FastText над лемматизированными словами. так как он не боится редких слов и не боится орфографических ошибок из-за n-gramm

4️⃣ Метрики
Было подсчитано две метрики
1 - Для какой части процедур в зависимости от n угадали хотя бы одного участника, то есть с какой долей вероятности мы угадали хотя бы одно микрославича
2 - Общая доля угаданных уникальных участий, сколько в среднем микрославичей мы можем угадать

Вывод:
Можно построить рекомендательную системы таким образом, которым я рассказал. Такой подходит тогда, когда у вас нет оценки релевантности у продукта, а только лишь его описание. Такой метод называется Контентной рекомендацией.
Отбор кандидатов - нахождение похожих товаров с помощью FastText и косинусной близости
Формирование фичей и применение модельки поверх всего говна, которого мы сделали 💩
GitHub RecSysRoseltorg/RecommendationSystem.ipynb at main · ditengm/RecSysRoseltorg Recommendation system for purchases and customers - ditengm/RecSysRoseltorg
More from @eboutdatascience
  1. Oct 6, 2026Post #711
  2. Oct 1, 2026Симулятор Дата Суетолога - отзыв действующего слона 🚬 В предыдущих постах (первый пост, в…
  3. Sep 29, 2026Как выбрать трек: Classic ML, NLP/LLM или Agents 🍔 Мне часто прилетает вопрос в ЛС: Дим,…
  4. Sep 28, 2026Запись эфира про накрутку, ИИ на собесах, двух работах со стороны лида из Сбера 🤑 Ребят,…
  5. Sep 25, 2026Эфир - Что спросим у лида из Сбера? 👀 УЖЕ ЗАВТРА, то есть в субботу, 26 сентября в 18:00…
  6. Sep 25, 2026РАЗБОР СОБЕСА в Т-Банк на 350к middle+ по NLP, LLM, Agents - НОВЫЙ ДРОП 😎 Выложил разбор…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →