Designer提供豐富的建模組件,支援可視化構建和調試模型。以下以心臟病預測為例,示範如何在Designer工作流程中構建與調試模型。
前提條件
已建立工作流程。
模型構建
一個模型通常可拆分為多個細分的節點(即組件)任務,通過前後編排節點任務形成工作流程,最終實現模型預期效果。建模前,建議您先拆分模型並規劃好各節點任務,一個節點只完成一個最簡單的任務。模型構建總體流程如下:
在左側組件列表中搜尋或找到目標組件,將組件拖入畫布。
組件列表中帶紫色標識的是Alink組件(例如讀CSV檔案組件)。Alink組件除具備普通組件的用法外,還支援彙總成組,對組統一配置資源,提升執行效率和資源使用率。詳情請參見Alink組件。
單擊目標節點,在介面右側配置組件參數。
通過連線將各節點群組織成具有上下遊關係的工作流程。
每個節點有一個或多個輸入輸出連接埠。將滑鼠懸浮至組件連接埠上,可查看連接埠的資料類型,據此連線。
模型實際運行時,上遊節點先運行,所有上遊節點均運行完成後,下遊節點才會觸發運行。
模型構建通常包含以下任務模組:
讀取資料
在工作流程中添加源/目標類型組件即可讀取資料,支援MaxCompute、OSS等資料來源,詳情可參見組件參考:源/目標下的具體組件文檔。以下以讀取MaxCompute資料為例。
已在MaxCompute建立表並匯入資料,詳情請參見建立並使用MaxCompute表。
以下樣本在test專案下建立heartdisease表,並匯入測試資料。
--建立表 CREATE TABLE IF NOT EXISTS heartdisease( age STRING COMMENT '對象的年齡。', sex STRING COMMENT '對象的性別,取值為female或male。', cp STRING COMMENT '胸部疼痛類型,痛感由重到輕依次為typical、atypical、non-anginal及asymptomatic。', trestbps STRING COMMENT '血壓。', chol STRING COMMENT '膽固醇。', fbs STRING COMMENT '空腹血糖。如果血糖含量大於120mg/dl,則取值為true,否則取值為false。', restecg STRING COMMENT '心電圖結果是否有T波,由輕到重依次為norm和hyp。', thalach STRING COMMENT '最大心跳數。', exang STRING COMMENT '是否有心絞痛。true表示有心絞痛,false表示沒有心絞痛。', oldpeak STRING COMMENT '運動相對於休息的ST Depression,即ST段壓值。', slop STRING COMMENT '心電圖ST Segment的傾斜度,程度取值包括down、flat及up。', ca STRING COMMENT '透視檢查發現的血管數。', thal STRING COMMENT '病發種類,由輕到重依次為norm、fix及rev。', `status` STRING COMMENT '是否患病。buff表示健康,sick表示患病。', style STRING); --本文僅為展示,直接匯入PAI公開的測試資料 INSERT INTO heartdisease select * from pai_online_project.heart_disease_prediction;將讀資料表組件拖入右側畫布,用於讀取MaxCompute表資料。
畫布中會自動產生名稱為讀資料表-1的工作流程節點(數字按相同組件拖入畫布的先後順序編號,首次為1,以此類推)。
在節點配置頁面配置來源資料表名,更多參數詳情請參見讀資料表。
在畫布中選中讀資料表-1節點,在右側節點配置頁面的表名中填寫要讀取的MaxCompute表名。本樣本填寫為
heartdisease。說明跨MaxCompute專案(Project)讀取表資料時,表名需使用
專案名.表名格式(例如test2.heartdisease),並確認您具有該專案的許可權。將右側節點配置頁面切換到欄位資訊頁簽,查看該公開資料的欄位詳情,確認各欄位的名稱和類型,為後續資料預先處理做準備。
資料預先處理
讀取資料後,通常需要預先處理資料,以滿足訓練或預測模型的輸入要求。Designer提供豐富的資料預先處理和大模型資料處理組件。
本樣本的資料預先處理階段依次使用SQL指令碼、類型轉換、歸一化和拆分四個組件,位於讀資料表與羅吉斯迴歸二分類之間。
此外,您可以使用SQL指令碼組件自訂SQL指令碼。例如,本樣本通過SQL指令碼轉換輸入特徵的資料類型,指令碼如下:
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};模型訓練
模型組件通常上遊接入預先處理後的資料,下遊接入預測或推理等組件。模型組件可能有一個或多個輸入輸出連接埠。將滑鼠懸浮至組件連接埠上可查看連接埠類型,據此正確連線。
以羅吉斯迴歸二分類組件為例,該組件有2個輸出連接埠:
羅吉斯迴歸模型:訓練後的模型輸出連接埠,可作為預測等組件的模型結果輸入。
PMML:模型部署通常依賴PMML模型。例如,如果您需要通過預置的Processor(如PMML Processor)部署模型,需在支援產生模型的組件參數中選中是否產生PMML,再運行組件。
模型預測或推理
模型訓練後,您可以串連預測或推理等組件,測試模型效果。
以預測組件為例,預測組件有2個輸入連接埠:
模型結果輸入:接入模型訓練階段產出的模型。
預測結果輸入:接入預先處理後的測試資料。
將拆分後的測試資料連線至預測節點的預測資料輸入連接埠,將羅吉斯迴歸二分類模型串連至模型結果輸入連接埠。在右側預測節點配置面板中,設定特徵列(用於預測的特徵欄位)、原樣輸出資料行(建議添加label列,便於後續評估)、輸出結果列名為prediction_result、輸出分數列名為prediction_score、輸出詳細列名為prediction_detail。
模型評估
部分模型提供評估組件,您可以使用對應評估組件,通過指標分析模型效果。
例如,機器學習提供以下評估組件,您可根據需要將評估組件作為預測組件的下遊。
評估組件包括二分類評估、迴歸模型評估、聚類模型評估、混淆矩陣和多分類評估。在工作流程畫布中,將所需評估節點串連到預測節點下遊並運行,然後單擊工具列中的可視化表徵圖查看評估結果。
模型調試
調試運行
整個工作流程:單擊畫布左上方的
(運行)表徵圖,直接運行整個工作流程。工作流程較複雜時,建議您分模組運行某個節點或部分節點,方便調試。單個或局部組件:按右鍵目標組件,運行單個或局部節點,支援多種運行方式。
具體運行方式包括執行該節點、從此處開始執行、執行到此處、從根節點執行到此處和執行該節點的下遊節點。
運行成功後,對應組件上會顯示
;失敗則顯示
。您可以按右鍵組件查看日誌及結果。
查看日誌及結果
組件運行成功後,按右鍵組件並選擇查看資料,查看產出資料。
Designer支援將部分組件的資料轉化為圖形和圖表,直觀展示複雜資料和分析結果,協助您快速擷取關鍵資訊、識別趨勢和模式,更高效地分析和決策。單擊可視化分析或畫布上方的可視化表徵圖,即可查看可視化分析結果。詳情請參見可視化分析。
查看日誌:組件運行失敗時,按右鍵對應組件並選擇查看日誌,排查失敗原因。
查看運行任務
單擊畫布右上方全部任務查看,查看所有歷史任務的運行詳情。建模過程中,您的每次運行都會被記錄為一次歷史任務。每次運行涉及的節點、節點配置和產出結果均會保留在歷史任務中。
在彈出的歷史任務面板中,每條任務的操作列包含詳情、模型、版本復原和分享連結。單擊詳情可查看該任務的節點配置及產出結果。
在任務詳情頁面的左側畫布中,單擊目標節點(如SQL指令碼-3),右側面板會展示該節點的詳細資料。選擇任務日誌頁簽可查看節點執行日誌,也可切換至運行資訊或輸出結果頁簽查看對應內容。
如需版本復原,建議先查看歷史任務的詳情,確認復原的版本是否正確。同時,復原前建議將最新任務儲存並運行一次。如果復原後出錯,您可以再次復原至最新的任務狀態。
相關文檔
模型調試完成後,您可以將訓練好的模型註冊為新模型並管理。詳情請參見模型註冊、管理及部署。
模型調試完成後,您可以部署模型並進行線上預測。詳情請參見模型預測及部署。
Designer提供更新EAS服務(Beta)組件,用於更新模型服務。詳情請參見線上模型服務定時更新。
支援通過DataWorks調度離線工作流程,周期性更新模型。詳情請參見使用DataWorks離線調度Designer工作流程。
更多組件請參見組件參考。