全部產品
Search
文件中心

Platform For AI:自訂工作流程demo

更新時間:Dec 06, 2024

Designer通過工作流程的方式來實現模型構建。您需要先建立一個工作流程,再根據建模需求在工作流程中排布不同組件的處理調度邏輯。本文通過建立一個空白工作流程,以構建二分類模型實現心臟疾病預測為例,帶您完成從0-1的可視化模型構建與部署。

前提條件

已開通PAI並建立工作空間。

步驟一:建立工作流程

前往可視化建模(Designer),選擇工作空間並進入Designer頁面。建立並進入工作流程。

image

參數

說明

工作流程名稱

自訂名稱。

工作流程資料存放區

建議您配置該參數,將其配置為OSS Bucket儲存路徑,用於儲存運行中產出的臨時資料和模型。若不設定,則取工作空間的預設儲存。

系統會在每次運行時,自動為您建立工作流程儲存路徑/任務ID/節點ID的臨時檔案夾。簡化您為工作流程中每個組件進行OSS儲存路徑配置的工作,同時更便於資料的統一管理。

可見範圍

  • 僅自己可見:工作流程建立到我的工作流程檔案夾下,在工作空間中僅自己和管理員可見。

  • 工作空間內公開可見:工作流程建立到工作空間公開工作流程檔案夾下,在工作空間中對所有人可見。

步驟二:資料準備與預先處理

構建模型前,您需要準備好所要使用的資料來源,並完成資料的預先處理,以便後續根據業務需求進行模型訓練。

準備資料

在工作流程中通過添加源/目標類型組件實現資料讀取,支援讀取MaxCompute、OSS等資料,詳情可參見組件參考:源/目標下具體組件文檔。本文直接使用讀資料表組件來讀取PAI提供的心臟病案例公開資料,資料集詳情請參見Heart Disease Data Set

designer快速入門2

  1. 選擇合適源/目標組件來讀取資料。

    在左側組件列表中,單擊源/目標檔案,將讀資料表組件拖入右側畫布中,用於讀取MaxCompute表資料。畫布中會自動產生一個名稱為讀資料表-1的工作流程節點。

  2. 在節點配置頁面配置來源資料表名。

    在畫布中選中讀資料表-1節點,在右側節點配置頁面的表名中填寫對應的MaxCompute表名。本文填寫為pai_online_project.heart_disease_prediction,讀取PAI提供的公開的心臟病案例資料表。

  3. 將右側的節點配置頁面切換到欄位資訊頁簽,查看此公開資料的欄位詳情。

資料預先處理

本文心臟病預測樣本可以歸屬於二分類問題,使用的羅吉斯迴歸模型組件要求輸入資料為DOUBLE(或BIGINT)類型,因此本部分將完成對心臟病案例資料的類型轉換等預先處理,為模型訓練做準備。

  1. 資料預先處理:將非數實值型別欄位轉換為數實值型別。

    designer快速入門1

    1. 搜尋SQL指令碼組件並將其拖入畫布中,畫布中產生一個名稱為SQL指令碼-1的工作流程節點。

    2. 通過連線,將讀資料表-1節點作為SQL指令碼-1節點的t1輸入源。

    3. 配置節點。

      單擊SQL指令碼-1節點,在右側配置頁面輸入以下代碼(此時右側參數設定面板的輸入源為t1)。

      select age,
      (case sex when 'male' then 1 else 0 end) as sex,
      (case cp when 'angina' then 0  when 'notang' then 1 else 2 end) as cp,
      trestbps,
      chol,
      (case fbs when 'true' then 1 else 0 end) as fbs,
      (case restecg when 'norm' then 0  when 'abn' then 1 else 2 end) as restecg,
      thalach,
      (case exang when 'true' then 1 else 0 end) as exang,
      oldpeak,
      (case slop when 'up' then 0  when 'flat' then 1 else 2 end) as slop,
      ca,
      (case thal when 'norm' then 0  when 'fix' then 1 else 2 end) as thal,
      (case status  when 'sick' then 1 else 0 end) as ifHealth
      from  ${t1};
    4. 單擊畫布左上方的儲存,儲存工作流程配置。

    5. 按右鍵SQL指令碼-1組件,單擊從跟節點執行到此處,調試運行本工作流程。

      工作流程將根據節點順序依次運行各節點。當節點成功運行完成後,節點的右上方會顯示運行成功

      說明

      您也可以單擊畫布左上方的運行(運行)表徵圖,直接運行整個工作流程。當工作流程比較複雜時,建議您分模組運行某個節點或部分節點,以方便進行調試。如果運行失敗,可按右鍵對應節點選擇查看日誌,排查失敗原因。

    6. 運行成功後,您可以按右鍵目標節點(例如SQL指令碼-1),選擇查看資料查看當前節點輸出資料的正確性。

  2. 資料預先處理:將欄位轉換為DOUBLE類型,使得處理後的欄位滿足羅吉斯迴歸模型的輸入資料要求。

    b4e7bb3e15838f4bfd46dcdec8eb60d6.png

    參考上一步,拖入類型轉換組件並連線,使其作為SQL指令碼-1節點的下遊節點,單擊節點後在欄位設定頁簽,單擊轉換為double類型的列下的選擇欄位,全選將所有欄位轉換為DOUBLE類型。

  3. 資料預先處理:歸一化處理,將每個特徵的數值範圍轉換為0~1,去除量綱對結果的影響。

    參考上一步,拖入歸一化組件並連線,使其作為類型轉換-1節點的下遊節點,單擊節點後在欄位設定頁簽,選擇所有欄位。

  4. 資料預先處理:將資料拆分為訓練集和預測集,為後續模型訓練和預測做準備。

    拖入拆分組件並連線,使其作為歸一化-1節點的下遊節點,拆分後輸出2個資料表。

    拆分組件預設將資料按4:1拆分為模型訓練集和模型預測集。您可以單擊拆分組件,在右側參數設定頁簽,設定切分比例,其他參數詳情請參見拆分

  5. 按右鍵類型轉換-1組件,單擊從此處開始執行,運行工作流程中的剩餘節點。

步驟三:模型訓練

因為本樣本中每個樣本只會患病或健康,所以心臟病預測屬於二分類問題,本部分使用羅吉斯迴歸二分類組件,構建心臟病預測模型。

designer快速入門3

  1. 拖入羅吉斯迴歸二分類組件並連線,使其作為拆分-1節點輸出表1的下遊節點。

  2. 配置節點。

    單擊羅吉斯迴歸二分類-1節點,在右側欄位設定頁簽,將目標列設定為ifhealth,將訓練特徵列設定為除目標列以外的所有列。更多參數詳情請參見羅吉斯迴歸二分類

  3. 運行該節點。

步驟四:模型預測

image

  1. 拖入預測組件並連線,使其作為拆分-1節點輸出表2羅吉斯迴歸二分類-1節點的下遊節點。

  2. 單擊預測-1節點在欄位設定頁簽,將原樣輸出資料行設定為ifhealth欄位,將訓練特徵列設定為除ifhealth以外的所有欄位。

  3. 運行預測節點並查看預測結果。

    運行成功後,您可以按右鍵預測節點,選擇查看資料 > 預測結果輸出,查看預測資料。

    image

步驟五:模型評估

  1. 拖入二分類評估組件並連線,使其作為預測-1節點的下遊節點。

  2. 單擊二分類評估-1節點,在右側欄位設定頁簽,將原始標籤列列名設定為ifhealth

  3. 運行評估節點,並查看模型評估結果。

    運行結束後,按右鍵二分類評估組件,選擇可視化分析,支援以可視化方式查看不同評估指標資料。

    模型評估

相關文檔