Машинное обучение - это процесс, который широко используется для прогнозирования. В различных библиотеках доступно N алгоритмов, которые можно использовать для прогнозирования. Когда мы разрабатываем модель машинного обучения с использованием Scikit-Learn, TensorFlow, Keras, PyTorch и т. Д., Конечная цель - сделать ее доступной в производственной среде. Часто при работе над проектом машинного обучения мы уделяем много внимания исследовательскому анализу данных (EDA), разработке функций, настройке гиперпараметров и т. Д. Но мы склонны забывать о нашей главной цели, которая состоит в извлечении реальной ценности из модели. предсказания.

В этой статье мы собираемся построить модель прогнозирования на исторических данных с использованием модели алгоритмов машинного обучения на тестовых данных. Построение / обучение модели с использованием различных алгоритмов на большом наборе данных является одной из частей данных. Но использование этой модели в другом приложении - вторая часть развертывания машинного обучения в реальном мире. Однако есть сложность в развертывании моделей машинного обучения. Эта статья призвана помочь вам начать внедрение обученных моделей машинного обучения в производство с помощью Flask API.

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

Этот проект состоит из четырех частей:

  1. model.ipynb (jupyter notebook) - содержит код модели машинного обучения для прогнозирования продаж в третий месяц на основе продаж в первые два месяца.
  2. app.py - содержит API-интерфейсы Flask, которые получают сведения о продажах через графический интерфейс или вызовы API, вычисляют прогнозируемое значение на основе нашей модели и возвращают его.
  3. request.py - использует модуль запросов для вызова API, определенных в app.py, и отображает возвращаемое значение.
  4. HTML / CSS - содержит шаблон HTML и стиль CSS, позволяющий пользователю вводить сведения о продажах и отображать прогнозируемые продажи на третий месяц.

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

pip install pandas
pip install numpy
pip install scikit-learn
pip install flask

создание простой модели машинного обучения model.ipynb

Здесь мы использовали линейную регрессию в качестве модели прогнозирования. Мы передали обучающую часть данных для обучения модели.

Следующей частью было создание API, который получает информацию о продажах через графический интерфейс и вычисляет прогнозируемую зарплату по нашей модели. Для этого я десериализовал маринованную модель в виде объекта Python. Я установил главную страницу с помощью index.html. При отправке значений формы с помощью запроса POST на /predict мы получаем прогнозируемую стоимость продаж.

Результаты можно показать, сделав еще один запрос POST к /results.. Он получает входные данные JSON, использует обученную модель для прогнозирования и возвращает это прогнозирование в формате JSON, к которому можно получить доступ через конечную точку API.

Наконец, использовал запросы model.py для вызова API, определенных в app.py

Здесь мы создали простую форму, используя только html. Если вы хотите сделать форму более интерактивной, вы тоже можете это сделать. Есть три поля, которые необходимо заполнить: пользовательский опыт, результат теста и результат собеседования.

здесь используйте css, чтобы сделать интерактивный веб-интерфейс

здесь вы можете скачать проект с github: https://github.com/aadhil96/machine-learning_flask

sourec: https://www.kdnuggets.com/2019/10/easily-deploy-machine-learning-models-using-flask.html