/RaifHack_DS

Primary LanguageJupyter Notebook

Онлайн-хакатон Райффайзенбанка в области Data Science

Задача: разработать алгоритм оценки стоимости коммерческой недвижимости.

Описание

Банки выдают кредиты, в том числе, под залог недвижимости. Для компании это страховка, а для клиента — возможность получить больше под меньший процент. Каждый объект залога оценивают: жилые с помощью ИТ (например, SRG group или «Мобильный оценщик»), а вот коммерческие — чаще вручную. Полноценного автоматизированного инструмента для оценки коммерческой недвижимости пока никто не анонсировал.

Результат: 89 место из 377.

Скор на public: 1.327405506610691

Скор на private: 1.2019144902024865


Решение

В ходе хакатона в качестве модели использовались LGBRegressor и CatBoostRegressor. Лучший результат был получен с CatBoost'ом.

✅ - было использовано в ходе хакатона

🔲 - не было использовано в ходе хакатона

Основные моменты:

✅ использование данных только с price_type=1;

✅ использование CatBoostRegressor;

✅ ручная обработка признака floor (улучшило скор);

✅ валидация по временным фолдам;

✅ скейлинг предсказания коэффициентом 0.923 (вычислялся на основе разницы данных с price_type=0 и price_type=1);

🔲 обучение и предсказание лог-таргета.

Что можно улучшить:

  • грамотное сэмплирование;
  • блендинг моделей;
  • AutoML;
  • тюнинг параметров;
  • добавление новых фич, которые бы дали прирост.

Результаты

Первые две модели использовались в ходе хакатона, последние две - доработались после хакатона (была возможность проверять скор на сайте в теч. 30 дней).

В результате лучший скор, которого я достиг - 1.11709.

Модель CatBoost Public Private
Без scaling'a 1.41408 1.25327
Scaling 1.32740 1.20191
Лог-таргет без scaling'a 1.33389 1.14945
Лог-таргет + scaling 1.25932 1.11709