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服务的代码段

时间: 2024-08-24 18:22:43

Azure机器学习入门(四)模型发布为Web服务的相关文章

wcf通过webHttpBinding方式发布rest web服务

1 <system.serviceModel> 2 <services> 3 4 <service name="ServiceUpdater.ServiceUpdate" behaviorConfiguration="http" > 5 <host> 6 <baseAddresses> 7 <add baseAddress="http://localhost:7777/Updater&quo

发布虚拟机WEB服务 备忘

网络环境 本地连接 网卡1 IP:18.18.18.18 本地环回地址 网卡3 IP:192.168.0.1 虚拟机  桥接到网卡3  IP:192.168.0.100 做端口映射 增加端口映射   路由管理>路由和远程访问>IPv4>NAT>本地连接>服务和端口>添加端口

nginx实践(四)之静态资源web服务(防盗链)

防盗链目的 防止资源被盗用 http_refer 语法 原文地址:https://www.cnblogs.com/raind/p/10322956.html

kubernetes使用Traefik暴露web服务

Traefix介绍(摘自网络) traefik 是一个前端负载均衡器,对于微服务架构尤其是 kubernetes 等编排工具具有良好的支持:同 nginx 等相比,traefik 能够自动感知后端容器变化,从而实现自动服务发现. traefix的架构如下: Traefix的部署使用 部署环境: k8s-node1(master):192.168.232.130 k8s-node2(node): 192.168.232.131 k8s-node2(node): 192.168.232.129 部署

利用jws发布一个查询员工信息的Web服务(员工信息存储在数据库中)

这是<基于服务的软件系统>的课程设计: 一.作业要求 编写查询员工信息的Web服务(员工信息存储在数据库中).第一个Web服务:输入员工号,返回该员工号的员工的基本信息,包括员工号.员工名称.所在部门.出生日期.职位.职称.入职日期等信息.第二个Web服务:输入部门.职称,返回该部门具有该职称的所有员工的基本信息,员工基本信息与上面相同.分别针对上述两个Web服务,分别编写调用这两个Web服务的程序(或网页).要求在输入界面上输入待查询数据,调用Web服务,并将Web服务返回的员工信息查询结果

JAVA与.NET的相互调用——通过Web服务实现相互调用

JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧.在这里在下向各位介绍一下,JAVA与.NET相互调用的例子.下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用. 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式.首先

【转】Web服务器之Nginx详解(理论部分)

大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O模型的具体实现 八.Apache 的工作模式 九.支持高并发的Web服务器 十.Nginx 详解 一.前言 注,在说Web服务器之前,先说说线程.进程.以及并发连接数. 1.进程与线程 进程是具有一定独立功能的程序,关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.从逻辑

Linux web服务前言

HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则.特点: HTTP叫超文本传输协议,基于请求/响应模式的! HTTP是无状态协议. 为了方便认识http的请求和响应协议,用一段py来抓包分析下 import socket import time def handle_request(client): time.sleep(10) buf = client.recv(1024) print(buf.de

高性能Web服务之lnmp架构应用

传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下.生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等.这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换,系统性能也会由此进一步下降. 在设计的最初阶段,nginx的主要着眼点就是其高性能以及对物理计算资源的高密度利用,因此其采用了不同的架构模型.受启发