Описание проекта
Это веб-приложение для прогнозирования цен криптовалюты BTCUSDT с использованием модели Random Forest. Система анализирует данные из CSV-файла, строит предсказания на 1 минуту (60 секунд) и 1 час (3600 секунд) вперед, предоставляет графики с метриками (MAE, MSE, R²) и сохраняет результаты в Excel-файлы.
Основные возможности:
Обучение на исторических данных с начала датасета до 2 дней до конца. Тестовые предсказания на последних 2 днях с интервалом 1 минута. Настраиваемые параметры модели: n_estimators, max_depth, n_jobs. Визуализация предсказаний через интерактивные графики. Скачивание и просмотр логов в формате Excel
Требования
Для работы проекта установите следующие библиотеки:
pandas
numpy
scikit-learn
plotly
flask
matplotlib
openpyxl
Список указан в requirements.txt.
Как пользоваться
Подготовка данных:
Убедитесь, что файл BTCUSDT_converted.csv находится в корневой директории.
Формат файла:
колонки timestamp (в формате %d.%m.%Y:%H.%M.%S), symbol, price (с десятичной запятой, например, 123,45).
Запуск локально:
Создайте виртуальное окружение:
python -m venv .venv
Активируйте виртуальное окружение:
.venv\Scripts\activate
Установите зависимости:
pip install -r requirements.txt.
Запустите приложение:
python main.py.
Откройте браузер по адресу http://127.0.0.1:5000.
На главной странице введите параметры (n_estimators, max_depth, n_jobs) и нажмите "Run Prediction". Просмотрите графики, скачайте или откройте логи.
Загрузка нового CSV:
Используйте кнопку "Upload CSV" для загрузки нового файла с данными. После загрузки выполните предсказание заново.
Примечания
Данные для обучения берутся с начала датасета до последней даты минус 2 дня. Тестовые данные — последние 2 дня с интервалом 1 минута. Графики и логи генерируются автоматически после предсказания. Для работы требуется доступ к интернету (для Plotly CDN).