【機器學習PAI實踐九】如何通過機器學習實現雲端實時心臟狀況監測

李博Garvin發表於2017-06-23

背景

我們通過之前的案例已經為大家介紹瞭如何通過常規的體檢資料預測心臟病的發生,請見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.模型除錯

模型除錯頁面可以幫助使用者瞭解線上預測請求引數的書寫規範,進入模型除錯頁面。

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

體驗產品:阿里雲數加機器學習平臺

作者微信公眾號(與作者討論):

相關文章