Вам необходимо предсказать, есть ли в объявлении на Авито контактная информация.
Для обучения у вас есть следующие поля:
title
- заголовок,description
- описание,subcategory
- подкатегория,category
- категория,price
- цена,region
- регион,city
- город,datetime_submitted
- дата размещения.
Таргет: is_bad
Данные находятся по ссылке https://drive.google.com/file/d/1IOo206jH0cbIMsWRfIZXwCeCAqysZLD3/view?usp=sharing.
- Docker-образ будет собираться командой:
docker build -t hiring-test -f Dockerfile .
- Далее контейнер будет запускаться:
docker run -it -v ~/hiring-test/hiring-test-data:/hiring-test-data hiring-test python lib/run.py
- Файлы с полученным предсказанием должны находиться по тому же пути, что и в тестовом варианте скрипта
lib/run.py
Обратите внимание, что в контейнере по умолчанию используется python3:
docker run -it hiring-test python -c "import sys; print(sys.version)"
3.8.5 (default, Aug 21 2020, 18:21:27)
Ресурсы контейнера:
- 4 Гб оперативной памяти
- 2 ядра CPU
- нет GPU
Ограничение на время работы:
- 100 000 объектов должны обрабатываться не более 90 минут
Текущий бэйзлайн, который желательно побить - 0.9.
- Поработал с текстом: заменил некоторые слова на спец токены, оставил только слова и числа, перевел их в числовой токен, привел все к нормальной форме
- Над токенами построил tf-idf по уни-би и триграммам и оставил только топ
- Предобработал другие фичи: категориальные просто за ванхотил, цену отлогарифмировал
- Поверх этих фичей построил logreg
- Скор оценивал по отложенной выборке: AUC по отложенной выборке ~ 0.966, средний по категориям ~ 0.942
- Более сложный алгоритм: бустинги, RNN
- Обработать категориальные фичи: https://catboost.ai/docs/concepts/algorithm-main-stages_cat-to-numberic.html