Azure机器学习入门(四)模型发布为Web服务
接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务。要启用Web服务发布任务,首先点击底端导航栏的运行即"Run"按钮运行新的收入预测实验。实验开始运行之后,底端导航栏的发布Web服务即"Publish Web Service"按钮就变为有效,如下图所示。

图 即将发布Web服务地Azure 机器学习实验
此时,点击设计模式下底端导航栏的发布Web服务即"Publish Web Service"按钮就会出现如下图所示的确认信息。

图 发布Web 服务
几秒钟之后,仪表板将显示您的预测模型Web服务所提供的API密钥和API的帮助链接,如所示的Web服务。下图

图 Azure机器学习Web服务仪表板
Azure机器学习仪表板提供了Web调用新的预测模型所需的所有信息。在仪表板的网页中列出了帮助您入门的以下内容:
- API密钥是每个Web服务请求进行身份验证所传递的唯一安全标识。
- 请求/响应的API帮助页链接提供了如何调用Azure机器学习web服务针对输入地单个输入记录做出预测的相关信息。
- 执行批处理的API帮助页链接即提供了调用Azure机器学习web服务实现一个或者多个输入记录的预测用法信息。
- 可下载的Excel工作簿(Download Excel Workbook)选项允许您下载包含以下有关新的Azure机器学习web服务信息的Excel工作簿:
- WEB SERVICE URL是调用web服务的HTTP地址。
- ACCESS KEY是前面提到的API密钥。
- SCHEMA 它是一个HTTP URL,提供有关Azure机器学习web服务的所有输入和输出的参数信息,包括所有的参数名称和对应的数据类型。
Excel工作簿也包含直接从Excel调用您的Azure机器学习web服务的宏,只需在电子表格中的参数部分输入相应的值,宏就可触发调用Azure机器学习web服务并获取预测结果。您还可轻松在电子表格中添加行和改变输入参数,然后查看预测结果的变化。
- Azure管理门户(Azure Management Portal)的管理终端(Manage Endpoints )链接可将您带到另一个可管理web服务的web终端。
那么我们从请求/响应的web服务调用的API帮助链接开始。下图所示的是API使用的屏幕截图。

图 请求/响应web服务API调用的帮助页
下面我们深入介绍关于API 的使用方法:
- OData 端地址 - OData是基于Web协议的查询、更新和暴露数据的标准化语法(如图 3-42),OData提供通过网络针对数据的 HTTP 、XML、JSON(JavaScript Object Notation)和 Atom 协议的访问能力。

图 3-42 Azure机器学习实验的 OData Web 服务地址
- 请求头 – 下图显示了有关 Web HTTP POST 请求的地址和需要填充的请求头部信息。请求头包含请求的内容信息和接受的数据类型,依据此信息服务器可返回相应的数据。请注意 AuthorizationBearer 字段是必填项,此项是从 web 服务获取的 API 密钥,通过服务的验证此项方可获得授权。

图 Azure机器学习web服务示例-发送POST请求的请求头
- 请求正文 - 在下面的 API 请求页中显示的是一个示例的HTTP请求正文。图 3-44 显示请求正文的详细信息。

图 HTTP请求正文数据结构的示例
我们看到请求正文示例的数据结构中包含 Adult.data.csv 文件除了收入的数据外的全部数据集,。排除收入数据是因为我们将通过 web 服务调用的方式获取我们预测的收入数据。
在请求正文示例中展示了获取Azure 机器学习 web 服务有效响应所需的输入格式、数据列和值。请求正文采用JSON格式,JSON格式是当今普遍受欢迎的 web 数据交换格式,它既易于人工阅读和编写,又利于机器解析和生成。此请求正文的示例可以为构建客户端应用程序获取 web 服务提供有效指引。
- 响应-下一个节介绍的内容是响应,包括由Azure 机器学习web服务返回的HTTP 响应代码的有关信息。如果web服务成功返回信息则在代码中应包含HTTP的状态代码200-OK;如果web服务的调用不成功,则应返回包含REST API错误代码的网页,帮助分析错误类型和导致错误的原因。图3-45所示就是响应状态代码的信息。

图3-45 Azure机器学习web服务的HTTP返回状态码示例
- 响应头-本节为Azure机器学习web服务发送给客户端的信息。在此,服务器发送响应报文,即JSON格式的内容信息,如下图所示。

图Azure机器学习web服务返回的HTTP响应头信息
- 响应正文-本节包含Azure机器学习web服务返回的响应报文的信息。请注意,Azure机器学习服务将返回 Adult.data.csv 中的每列数据(收入数据除外)及相关联的数据类型(数值或者字符串)。
有一点要注意,Azure机器学习web服务返回的数据中包含两个增加的字段:评分标签和评分概率。
- 评分标签:该字段表示Azure机器学习模型针这一行数据集的预测结果,表达的是预测收入水平是大于50K还是小于等于50K。
- 评分概率:该字段表示收入评分可能性的数值概率。
下图表示响应正文的示例。

图 响应报文的示例:在原始数据集中增加两个预测结果的字段作为返回数据
- 响应报文示例:本节展示web服务的响应报文的JSON数据格式,它包括完整的JSON记录(大括号表示),数据表定义(DataTabble),数据表中的一系列列明(ColumnNames),每一列的数据类型(ColumnTypes)和返回的数据值(Values)组成,其中数据值列表中的字段以逗号分隔。下图为一个从API网页返回的响应信息的示例。

图 响应报文格式的示例
- 代码示例:这是最有意思的部分:Azure机器学习API的网页提供了C#、Python以及R语言编码的示例,为快速创建客户端应用程序提供了便利。我们只需在示例代码中填充API密钥值和有效的输入数据集,就可完成调用Azure机器学习预测分析web服务的客户端应用程序,如图所示。

图 调用Azure机器学习示例web服务的代码段
Azure机器学习入门(四)模型发布为Web服务的更多相关文章
- Azure机器学习入门(三)创建Azure机器学习实验
在此动手实践中,我们将在Azure机器学习Studio中一步步地开发预测分析模型,首先我们从UCI机器学习库的链接下载普查收入数据集的样本并开始动手实践: http://archive.ics.uci ...
- wcf通过webHttpBinding方式发布rest web服务
<system.serviceModel> <services> <service name="ServiceUpdater.ServiceUpdate&quo ...
- Azure机器学习入门(二)创建Azure机器学习工作区
我们将开始深入了解如何使用Azure机器学习的基本功能,帮助您开始迈向Azure机器学习的数据科学家之路. Azure ML Studio (Azure Machine Learning Studio ...
- Azure机器学习入门(一)
我们开始深入学习Azure机器学习的基本原理并为您开启伟大的数据科学之门.Azure 机器学习的一个重要特征就是在构建预测分析方案时,它能够方便地将开发模式集成为可重复的工作流模式.这就使得Azure ...
- Spring MVC中发布Restful Web服务
对于企业应用来说,数据是许多业务的命脉,软件通常是可替换的,但是多年积累的数据是永远不能替换的. 近些年来,以信息为中心的表述性状态转移(Representational State Tran ...
- CXF发布在Web服务
1.下载apache-cxf-3.1.4,将jar引入新工程中. 2.People.java package com.soap.server; import java.util.Date; impor ...
- nginx实践(四)之静态资源web服务(防盗链)
防盗链目的 防止资源被盗用 http_refer 主要是判断refer信息,判断请求来源是不是合法身份 语法 实例 参数说明: none表示允许没有代理的头信息过来,blocked表示refer信息不 ...
- kubernetes使用Traefik暴露web服务-转载51cto
Traefix介绍(摘自网络) traefik 是一个前端负载均衡器,对于微服务架构尤其是 kubernetes 等编排工具具有良好的支持:同 nginx 等相比,traefik 能够自动感知后端容器 ...
- Web服务基础介绍
Web服务基础介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正常情况下的单次web服务访问流程 博主推荐阅读: https://www.cnblogs.com/yinzh ...
随机推荐
- Online Schema Change for MySQL
It is great to be able to build small utilities on top of an excellent RDBMS. Thank you MySQL. This ...
- IOS9提示“不受信任的开发者”如何处理
iPhone升级到IOS9版本后,发现部分APP在下载后首次运行时,都会提示“不受信任的应用程序开发者”,这是因为企业证书发布的APP,没有经过AppStore审核,于是iOS对用户做出一个安全性的提 ...
- S3C2440的RTC解析
位二-十进制交换码(BCD)值数据给CPU.这些数据包括年.月.日.星期.时.分和秒的时间信息.RTC单元工作在外部32.768kHz晶振并且可以执行闹钟功能 实时时钟模块保存的数据是DCD码形式. ...
- 【spoj8222】 Substrings
http://www.spoj.com/problems/NSUBSTR/ (题目链接) 题意 给出一个字符串S,令${F(x)}$表示S的所有长度为x的子串出现次数的最大值.求${F(1)..... ...
- css 之!important
主要是自己犯了个错误: 把 !important 放到了分号后面; 正确写法写法: .current{ background-color: #f1f1f1; border-left: 2px soli ...
- UVa 412 - Pi
题目大意:给定一种估算Pi的方法:给出一系列随机数,从中任选两个数,这两个数的最大公约数不大于1(互质)的概率为6/(Pi*Pi),然后给出一系列数,据此估算Pi的值.直接模拟就好了. #includ ...
- bzoj1113
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1113 题解:单调栈 代码: #include<iostream> #includ ...
- mfix模拟流化床燃烧帮助收敛的方法
1.在反应速率里用rate_limit函数:2.初始床料中可以添加一部分碳和灰.下面给出详细解释: 1.c3m生成的化学反应速率中有一个这样的函数: double precision function ...
- 天兔(Lepus)监控邮件推送安装配置
好吧,我承认官网的邮件配置教程我又没看懂,这里记录下我的配置方法 [root@HE3]# vi /usr/local/lepus/test_send_mail.py #!/usr/bin/envpyt ...
- 排名前10的H5、Js 3D游戏引擎和框架
由于很多人都在用JavaScript.HTML5和WebGL技术创建基于浏览器的3D游戏,所有JavaScript 3D游戏引擎是一个人们主题.基于浏览器的游戏最棒的地方是平台独立,它们能在iOS.A ...