Kaggle: https://www.kaggle.com/c/pandemicdatahack/overview
Дополнительные данные: ссылка
Котировки на нефть, газ, валюты взяты отсюда; данные по COVID-19 взяты с Yandex DataLens; данные по ВВП, безработице и инфляции собраны с разных сайтов. Эмбеддинги fasttext
- Настроили 5-Fold валидацию со стратификацией по году публикации резюме, потому что в train и test у них схожие распределения. Локальная валидация коррелировала с public leaderboard’ом.
- Для теста усредняли предсказания моделей, обученных на разных фолдах.
- 1 в таргете является выбросом, который портит модель. Поэтому сначала делали классификацию (CatBoost Classifier): выброс (salary < 300) или нет. На не выбросах обучали CatBoost Regressor на логарифмированном таргете, оптимизируя MSE. Выбрали именно CatBoost из-за встроенной обработка категориальных признаков и поддержки GPU.
- На тестовых данных запускали обе модели, итоговое предсказание = (значение регрессии) * (вероятность от классификации).
- По исходным данным был большой препроцессинг, его вы можете найти в файле preprocess.py
- Использовали дополнительные данные (с 2015 по 2020 года): ВВП России по годам в рублях и долларах; ежедневные котировки евро, доллара, нефти, газа, золота; количество больных COVID-19 по дням и дням-регионам.
- Для текстовых полей из данных по образовании брался усредненный вектор fasttext (100-dim) по словам в предложении. Текст предобрабатывался с помощью удаления html-тэгов и лемматизация с pymorphy
-
Обучение моделей LightGBM и код для обучения в папке src/