Azure機器學習入門(四)模型發佈爲Web服務

 

接Azure機器學習(三)建立Azure機器學習實驗,下一步即是真正地將Azure機器學習的預測模型發佈爲Web服務。要啓用Web服務發佈任務,首先點擊底端導航欄的運行即"Run"按鈕運行新的收入預測實驗。實驗開始運行以後,底端導航欄的發佈Web服務即"Publish Web Service"按鈕就變爲有效,以下圖所示。web

即將發佈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調用的幫助頁spa

下面咱們深刻介紹關於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服務的代碼段

相關文章
相關標籤/搜索