Gaussiandra / MFC_solution

Выявление закономерностей на основе данных МФЦ, 3/63 место.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Соревнование по выявлению закономерностей на основе данных МФЦ. Гражданин обращается в МФЦ за получением различных услуг в разное время. На каждое обращение заявителя затрачивается определенное время как работником МФЦ, так и заявителем. Однако, эти услуги, вероятно, можно получить за одно обращение и сэкономить время, если выявить те услуги, за которыми обращаются разные граждане в одинаковой (определенной) последовательности. Необходимо предсказать за какой следующей услугой обратится гражданин.

Особенности подхода
  1. Выгодно учиться на топ-200 самых популярных классов. Это позволит обучать catboost в ~5-6 раз быстрее, но при этом не сильно терять в качестве потому что многие классы можно считать выбросами.
  2. Важно было качественно распарсить время. Во время карантина поведение людей значительно меняется. Также это помогает лучше различать 98 и 134 классы. В моём решении requester_edit_timestamp_ms_since_last_time и частота посещений даёт очень сильный прирост.
  3. Наивный способ формирования трейна с помощью сдвига выкидывает пользователей с однократным посещением и поэтому нужно придумать, что делать с такими пользователями в тесте, где сдвига нет. Таких людей можно просто определить в 1309 класс.
  4. Различные кластеризации описаний -- тоже полезные признаки.
Что так и не было опробовано:
  1. Начать учитывать не только последнее посещение, но всю историю. Это касается не только service_title, но и остальных признаков.
  2. Достать полезную информацию из истории tickets.

Решение даёт 3/63 место на привате и 0.646 по accuracy.

About

Выявление закономерностей на основе данных МФЦ, 3/63 место.


Languages

Language:Jupyter Notebook 100.0%