avia_hack_2023

Форк
0

README.md

Auto Avia Offer

Начало

1. Введение


Целью проекта является создание системы ранжирования заявок (задание из хакатона Aeroclub Challenge 2023)

По факту является задачей бинарной классификации (будет ли добавлено / выбрано предложение в список на отправку или нет)

Лидерборд - ТОП 5 (4 место)

2. Структура проекта


  • data_utils: содержит скрипт загрузки данных из Google Drive
  • data содержит .xlsx / .csv файлы с изначальными данными с хакатона, обработанные данные после построения новых признаков. Каталог формируется после запуска скрипта get_data.py из data_utils
  • docs содержит различные графики / скриншоты, а также презентацию (каталог present)
  • notebooks содержит скрипты исследования (.py формата):
    • research: разведочный анализ данных, очистка данных, построение новых признаков
    • hack_submission: пайплайн предсказания на тестовых данных
  • service содержит файлы FastAPI сервиса.
  • tests содержит тестовый скрипт проверки для api сервиса.

3. Установка


Убедитесь, что у Вас установлен Docker на локальной машине. В случае отсутствия, перейдите сюда и проследуйте по инструкции. Затем перейдите в командую строку и выполните следующие команды:

  1. git clone https://github.com/unknowngfonovich/avia_hack_2023.git

  2. Перейдите в каталог /service

  3. Создайте .env файл с двумя переменными (без символов <>)

    SERVICE_HOST=<адрес хоста, обычно, 0.0.0.0>

    SERVICE_PORT=<порт, например, 8001>

  4. В командой строке наберите следующую команду

    docker build -t ranking_service .

4. Запуск


Перейдите в командую строку и выполните следующую команду:

docker run --rm -d --env-file .env -p 8001:8001 ranking_service

5. Пример использования


Если у вас есть Postman, выполните POST запрос к http://0.0.0.0:8001/predict_batch с содержимым test_request.json из tests/service_api_test.

Ecли у вас нет Postman, перейдите к скрипту test_inference.py в tests/service_api_test, выполните последовательно команды.

В ответ на запрос вы получите исходные данные с вероятностью и рангом (позицией) в выдаче внутри одного RequestID

Пример ответа сервиса

Описание

Решение команды 'fit_predict' - сервис ранжирования предложений Auto Avia Offer

Языки

Python

  • Dockerfile
Сообщить о нарушении

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.