Предположение:

  1. Вам необходимо иметь базовые знания о моделях машинного обучения, Python, NumPy, Pandas, Scikit Learn, Flask и Ngrok.
  2. Базовые знания по программированию для понимания таких концепций, как webhook/webservice.
  3. Прежде чем продолжить, я предлагаю вам загрузить код из репозитория GitHub и просмотреть его бок о бок.

Цель:

Дайте вам обзор того, как развернуть модель машинного обучения с помощью работы Flask Framework. Поскольку он больше связан с развертыванием, он мало говорит о наборе данных EDA (исследовательский анализ данных)/предварительной обработке/конвейере данных/перекрестной проверке и производительности модели. Другими словами, это поможет вам понять, как вы можете развернуть свою модель машинного обучения с помощью Flask Framework.

О наборе данных:

Он имеет 3 функции, такие как Страна, ВВП на душу населения и Удовлетворенность жизнью, целью которой является Удовлетворенность жизнью. Мы учитываем только функцию GDP_Per_Capita для обучения нашей модели. Другими словами, мы не рассчитываем на Country.

Разработка модели:

Модель обучается на обучающем наборе (GDP_Per_Capita) для прогнозирования «удовлетворенности жизнью».

pickle.dump(lrmodel, open("lsmodel.pkl", "wb"))

Обученная модель сохраняется/выбирается как «lsmodel.pkl» в каталоге/папке вашего проекта (или) в зависимости от вашего пути. Желательно указывать расширение файла (то есть .pkl).

Разработка веб-сервиса/веб-перехватчика:

pickle.load(open("lsmodel.pkl", "rb")) :: Загружает объект модели из выбранного файла.

@app.route("/predict", method=[‘post’]) :: связывает запрос (веб-адрес) с функцией прогнозирования().

data = request.get_json(silent=True)
output = model.predict([np.array(list(data.values()))])

Он считывает данные из веб-запроса и передает их объекту модели для прогнозирования.

Запустить веб-сервис:

Фреймворк flask помогает нам подключить программу python «webservice.py» к сети. Когда вы запустите эту программу на Python, она даст вам следующий результат, то есть теперь вы можете получить доступ к модели через URL-адрес http.

Чтобы проверить, запущена ли программа веб-сервиса, вы открываете этот URL-адрес http://127.0.0.1:5000/ (или) http://localhost:5000. Оба относятся к вашему URL-адресу локального хоста, который работает на (по умолчанию) порту 5000. После открытия этого URL-адреса вы отобразите/покажете свой index.html, как показано ниже.

Вызов веб-службы на локальном компьютере:

predResult = request.post(url, json={'GDP_Per_Capita':55805.2})

Вы передаете ввод [то есть GDP_Per_Capita] как объект json веб-сервису. Он возвращает вам результат прогноза, то есть на основе вашей информации GDP_Per_Capita он дает вам прогноз life_satisfaction.

Сделайте свой веб-сервис доступным для всех:

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

Скопируйте URL-адрес переадресации (http://6beabc8c.ngrok.io) и используйте его в своей программе request.py, как показано ниже.

Надеюсь, это даст вам общее представление о том, как развернуть вашу модель с помощью Flask Framework.