# Инструкция по выгрузке результатов для MRG ДЦО ## Этап подготовки Для начала стоит прочитать инструкцию до конца, а потом уже приступать к выполнению. 1. Нужно добавить примерно 36 GB виртуальной памяти в операционной системе. Виртуальную память нужно ставить на SSD. Здесь ссылка на инструкцию, как это сделать: https://superuser.com/a/793325. 2. Установить всё, что не установлено из следующего списка: - Git - Python 3.7 - Pip - PyCharm (как минимум Community Edition) - Jupyter Notebook P.S.: не забудьте прописать команды python, pip и jupyter notebook в PATH, чтобы они работали через командную строку. 3. Нужно зарегистрироваться на Gitlab и скинуть свой username Темуру Холматову, чтобы он добавил вас в приватный репозиторий проекта. 4. Нужно выкачать репозиторий с помощью Git: Для начала попробуй выкачать с помощью https запроса: ``` git clone https://gitlab.com/temur_kholmatov/mrg-dynprice.git ``` Так будет меньше мороки с ssh. Если не получится, придется предварительно настроить ssh подключение к Gitlab. Это можно сделать в профиле аккаунта (https://gitlab.com/-/profile/keys), там же можно найти инструкции как это сделать на Windows 10. А потом выкачивать репозиторий вот так: ``` git clone git@gitlab.com:temur_kholmatov/mrg-dynprice.git ``` 5. После этого проект стоит открыть в PyCharm. Он может предложить настроить интерпретатор для проекта. Нужно будет согласиться и создать папку venv в директории проекта на основе python 3.7. 6. Далее нужно установить все необходимые библиотеки в интерпретатор с помощью команды: ``` pip install -r requirements.txt ``` Файл `requirements.txt` лежит в директории проекта. 7. Здесь есть файлы: https://drive.google.com/drive/folders/1V_NYyMnfPRnawBWd-Sv4x_B2w3H6b9xQ?usp=sharing - Всё кроме `best_corr_features.csv` нужно загрузить в папку `data/raw`. - `best_corr_features.csv` нужно загрузить в папку `data/processed`. ## Итеративный этап выгрузок Эти процессе должны выполняться каждый раз при выгрузке ### Выгрузка raw данных из базы данных MRG Этот процесс требует подключения к виртуальной машине заказчика и выгрузке данных в ручном режиме. На данный момент это будет делать Темур Холматов. Для тестирования можно использовать следующие raw данные: https://drive.google.com/drive/folders/1IUaV1cfslIWzsacFrOVikXF_Zd4NKkdw?usp=sharing. ### Процесс генерации результатов 1. Нужно взять 4 xlsx файла raw данных, которые скинул Темур или из вышеуказанной папки с примерами и положить эти файлы в папку `data/raw`. 2. Запустить скрипт генерации датасета: ``` python processing/make_dataset.py ``` Скрипт должен завершиться успешно, без ошибок. 3. Запустить скрипт обучения модели: ``` python models/train_model.py ``` Скрипт должен завершиться успешно, без ошибок. 4. Сгенерировать сами выгрузки результатов на каждый день предсказания (заранее дается информация за какие дни). 4.1. Для этого нужно запустить Jupyter Notebook через командную строку в текущей папке проекта: ``` jupyter notebook ``` 4.2. Должна открыться страница в браузере. Откройте папку `notebooks`. 4.3. Откройте файл `DynamicPricing.ipynb` 4.4. Запустите все ячейки до 15ой ячейки, там, где объявляется переменная `date_of_pred` 4.5. Поменять дату в переменной `date_of_pred` на дату, на которую нужно делать выгрузку. 4.6. Запустить все ячейки начиная с этой до конца ноутбука. 4.7. Повторить процесс с пункта 4.5., вставив следующую дату, на которую нужно делать выгрузку. 5. В папке `data/predictions` будут лежать файлы: - По одной на каждый день выгрузки - Один дополнительный файл `plan_progress_cdf.csv` 6. Все файлы нужно отправить Темуру Холматову.