背景
我们通过之前的案例已经为大家介绍了如何通过常规的体检数据预测心脏病的发生,请见http://blog.csdn.net/buptgshengod/article/details/53609878。通过前文的案例我们可以生成一个算法模型,通过向这个模型输入用户实时的体检数据就会返回用户患有心胀病的概率。那么我们该如何搭建这套实时监测用户健康情况的服务呢?PAI最新推出的在线预测服务帮您实现。目前,机器学习PAI已经支持实验模型一键部署到云端生成API,通过向这个API推送用户的实时体检数据,就可以实时拿到反馈结果,做到心脏状况的云端的在线监测。
下面看下如何实现这套在线预测服务。
1.选择部署模型
我们以心脏病预测案例为例,具体实现可以参考http://blog.csdn.net/buptgshengod/article/details/53609878,实验生成一个逻辑回归模型,是用在线预测可以在当前实验点击“部署”按钮,选择“在线预测部署”。
2.配置模型部署信息
进入模型配置页:
选择对应的项目空间,如果是第一次使用需要开通在线预测权限,权限申请是实时开通。下面详细解释instance的定义:
每个项目默认包含30个instance,可提工单扩容。删除已部署模型会释放当前模型的instance。
instance决定模型的QPS,每个instance为1核2G内存。
- 单个模型的instance部署限制是[1,15]。
3.模型管控
模型部署完成可以进入如下界面进行管理,新部署模型可以在“查看模型详情”进行查看。
已经部署的模型可以在“已部署在线模型”里进行管理,
模型管理界面,版本表示的是同一模型多次部署的区分,通过下图红框可以拿到模型所在的项目和模型名称:
4.模型调试
模型调试页面可以帮助用户了解在线预测请求参数的书写规范,进入模型调试页面。
- 请求地址:https://dtplus-cn-shanghai.data.aliyuncs.com/dataplus_261422/pai/prediction/projects/
project名称/onlinemodels/ 模型名称 - 请求body为json串,以本文逻辑回归算法为例,需要填写每个特征的信息,特征名字需要与模型表特征名对应,常数列不用写。dataValue表示预测集对应特征的取值。dataType表示数值类型,dataType定义如下:
5.预测结果
现在我们已经配置好了服务,接下来只要编辑服务的body部分并且发送请求即可获得预测结果。我们假设用户的实时性别、血压、心跳波动等参数都是1,推送以下数据。
本案例body范例:
{
"inputs": [
{
"sex": {
"dataType": 40,
"dataValue": 1
},
"cp": {
"dataType": 40,
"dataValue": 1
},
"fbs": {
"dataType": 40,
"dataValue": 1
},
"restecg": {
"dataType": 40,
"dataValue": 1
},
"exang": {
"dataType": 40,
"dataValue": 1
},
"slop": {
"dataType": 40,
"dataValue": 1
},
"thal": {
"dataType": 40,
"dataValue": 1
},
"age": {
"dataType": 40,
"dataValue": 1
},
"trestbps": {
"dataType": 40,
"dataValue": 1
},
"chol": {
"dataType": 40,
"dataValue": 1
},
"thalach": {
"dataType": 40,
"dataValue": 1
}
}
]
}
可以获得返回,返回结果显示label为1(1表示用户患病,0表示健康),并且患病概率为0.98649974…:
API调用方法:https://help.aliyun.com/document_detail/30245.html
体验产品:阿里云数加机器学习平台
作者微信公众号(与作者讨论):