Это веб-приложение принимает на вход файл, содержащий хронологические данные, и ранжирует модели прогнозирования, используемые для прогнозирования значения следующего периода на основе RMSE.

Доступ к проекту на Github.

1. Введение

Работая над некоторыми проектами по прогнозированию спроса, я понял, что трачу довольно много времени на реализацию различных моделей, чтобы предсказать спрос на следующий период, прежде чем выбрать ту, которая наиболее эффективна. И если я хочу сделать то же самое для другого набора данных о спросе, мне нужно вернуться к коду и изменить многие его части, что также требует времени. Поэтому мне пришла в голову идея создать веб-приложение для прогнозирования, целью которого было бы автоматически рекомендовать наиболее эффективную модель для использования в прогнозировании спроса на следующий период, и это для любого типа данных, при минимизации времени выполнения. А что касается прогнозируемой переменной, то, кроме спроса на товар, это могут быть любые показатели, изменяющиеся хронологически, например, продажи, курс акций, погода, миграция, землетрясение. В этой статье я представлю функциональные возможности этой системы рекомендаций модели прогнозирования, созданной с помощью Flask.

2. Интерфейсы приложений

Приложение состоит из 6 удобных интерфейсов:

Главная

Это первая страница приложения, на которую пользователь загружает файл, содержащий хронологические данные.

Конфигурация

Когда файл успешно загружен, пользователь перенаправляется на страницу конфигурации, где он указывает целевую переменную, предикторы, категориальные переменные и регулярный временной интервал записи.

Подробный рейтинг

Нажав кнопку «Запустить модели», запускается более 20 моделей, а затем ранжируются от наиболее точных до наименее на основе среднеквадратичной ошибки (RMSE). Для каждой модели показан график, показывающий, насколько хорошо она работает с данными, а также другие используемые показатели оценки, включая среднюю абсолютную ошибку (MSE) и среднюю ошибку (ME), а также прогноз на следующий период.

Простое ранжирование

На этой странице пользователь может просматривать только рейтинг моделей, показатели их оценки и прогноз на следующий период. Визуализация не отображается.

Прогнозирование машинного обучения

После этого можно получить доступ к странице «Прогнозирование ML» для прогнозирования значения следующего периода с использованием ранее запущенных алгоритмов машинного обучения. Для этого все поля предикторов должны быть заполнены соответствующими им значениями следующего периода. Для других моделей этого делать не нужно, потому что они одномерные — прогнозирование основано только на изменчивости целевой переменной во времени.

ЭДА

И, наконец, отчет об исследовательском анализе данных, созданный с использованием профилирования Pandas, позволяет пользователю получить представление о многих аспектах загруженных данных, включая качество данных, корреляцию и взаимодействие между предикторами и целевой переменной.

3. Структура приложения

Структура приложения представлена ​​ниже:

Код состоит из 4 основных папок, включая «загрузки», «статические» и «шаблоны», а также 4 других файлов.

  • uploads:именно в этой папке будет храниться загруженный файл.
  • static: эта папка содержит все статические файлы шаблона, такие как файлы CSS и JS.
  • шаблоны. В этой папке хранятся все HTML-файлы, представляющие страницы приложения. Шаблон информационной панели Colorlib был адаптирован при разработке внешнего интерфейса.
  • ml_models: когда модели прогнозирования запускаются, модели машинного обучения сохраняются в этой папке, чтобы впоследствии использоваться для прогнозирования машинного обучения.
  • app.py: этот файл содержит код для управления маршрутизацией приложения и запуска веб-сервера.
  • models.py: в этом файле реализованы модели прогнозирования.
  • Proctfile: содержит конфигурации для Heroku.
  • requirements.txt: этот файл содержит все библиотеки Python и их версии, установленные в среде разработки при создании приложения. Это для того, чтобы они были установлены на Heroku во время развертывания.

4. Вывод

Выполнение этого проекта стало для меня полезным опытом, так как я узнал, как сделать результаты проекта по науке о данных доступными для пользователей через веб-приложение, созданное с помощью Flask, и как развернуть его на Heroku.

Узнайте больше о приложении-рекомендателе прогнозов, получив доступ к нему через Github. Буду рад получить ваши отзывы.