Машинное обучение - это процесс, который широко используется для прогнозирования. В различных библиотеках доступно N алгоритмов, которые можно использовать для прогнозирования. Когда мы разрабатываем модель машинного обучения с использованием Scikit-Learn, TensorFlow, Keras, PyTorch и т. Д., Конечная цель - сделать ее доступной в производственной среде. Часто при работе над проектом машинного обучения мы уделяем много внимания исследовательскому анализу данных (EDA), разработке функций, настройке гиперпараметров и т. Д. Но мы склонны забывать о нашей главной цели, которая состоит в извлечении реальной ценности из модели. предсказания.
В этой статье мы собираемся построить модель прогнозирования на исторических данных с использованием модели алгоритмов машинного обучения на тестовых данных. Построение / обучение модели с использованием различных алгоритмов на большом наборе данных является одной из частей данных. Но использование этой модели в другом приложении - вторая часть развертывания машинного обучения в реальном мире. Однако есть сложность в развертывании моделей машинного обучения. Эта статья призвана помочь вам начать внедрение обученных моделей машинного обучения в производство с помощью Flask API.
Структура проекта
Этот проект состоит из четырех частей:
- model.ipynb (jupyter notebook) - содержит код модели машинного обучения для прогнозирования продаж в третий месяц на основе продаж в первые два месяца.
- app.py - содержит API-интерфейсы Flask, которые получают сведения о продажах через графический интерфейс или вызовы API, вычисляют прогнозируемое значение на основе нашей модели и возвращают его.
- request.py - использует модуль запросов для вызова API, определенных в app.py, и отображает возвращаемое значение.
- 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