数据分析36计(28):Python 使用 Flask+Docker, 100行代码内实现机器学习实时预测​...

本文展示了如何使用Python的Flask和Docker构建一个机器学习实时预测API。通过Dockerfile构建Docker镜像,train.py训练线性判别分析和神经网络模型,api.py创建RESTful API提供预测接口。用户可以通过HTTP请求获取数据、预测结果以及模型评分。
摘要由CSDN通过智能技术生成

本文的想法是快速轻松地构建 Docker 容器,Python 以使用 Flask 实现机器学习模型执行在线预测 API 。我们将使用 Docker 和 Flask-RESTful 实现线性判别分析和多层感知器神经网络模型的实时预测。

项目包括的文件有:Dockerfile,train.py,api.py,requirements.txt, train.csv,test.json。

  • Dockerfile 将被用来构建 Docker 镜像

  • train.py 使用规范化的 EEG 数据训练两个分类模型(线性判别分析和多层感知器神经网络模型)

  • api.py 是将被调用执行使用 REST API 的在线预测接口脚本

  • requirements.txt(flask, flask-restful, joblib)是 Python 依赖

  • train.csv 用于训练模型的数据

  • test.json 是一个 json 文件,包含待预测的数据

Python 构建 Flask-restful API

第一步先思考我们需要构建哪些接口,输入和输出分别是什么。在这个例子里,我们将使用 包含 1300 行,160 列特征的 EGG 数据 test.json 文件。我们想要实现的 API 包括:

  1. 查询数据

请求方式:GET

请求示例:http://0.0.0.0:5000/line/232

参数说明:line, 必须, 行号

返回结果:

{"Line": "232", "# Letter": "4", ...}
  1. 获取预测结果 请求方式:GET

请求示例:http://0.0.0.0:5000/prediction/232

参数说明:line, 必须, 行号

返回结果:

{
  "prediction LDA": "21",
  "prediction Neural Network": 8
}

结果说明:

  • prediction LDA: LDA 模型分类预测结果

  • prediction Neural Network: 神经网络模型预测结果

  1. 获取模型效果评分 请求方式:GET

请求示例:http://0.0.0.0:5000/score

返回结果:

{
  "Score LDA": 0.17846,
  "Score Neural Network": 0.596923 
}

结果说明:

  • Score LDA: LDA 模型评分

  • Score Neural Network: 神经网络模型评分

最后,我们能通过 HTTP 请求来获取结果,该 api.py 文件实现如下:

# We now need the json library so we can load and export json data
import json
import os
import numpy as np
from s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值