本工作流以廣告CTR預測場景為例,為您介紹如何使用PAI提供的數據挖掘組件進行離線調度。
背景信息
本工作流流程如下:
通過歷史數據,在阿里云機器學習平臺上進行模型訓練。
通過大數據開發套件對模型進行調度。
每天凌晨對廣告投放進行CTR預測,甄選出符合標準的廣告進行推送。
本工作流數據集是通過Random算法隨機生成的,因此不對工作流結果進行評估,僅介紹如何構建工作流及大數據開發套件調度。
步驟一:準備數據集
本工作流訓練數據集包括2016年09月19日和2016年09月20日的歷史數據,針對2016年09月21日的數據進行預測,使用MaxCompute分區表。數據集的具體字段如下。
字段名 | 類型 | 描述 |
id | STRING | 廣告的唯一標識。 |
age | DOUBLE | 廣告投放人群的年齡。 |
sex | DOUBLE | 廣告投放人群的性別。1表示男性,0表示女性。 |
duration | DOUBLE | 廣告在界面的停留時長,單位為秒。 |
place | DOUBLE | 廣告投放位置,按照投放位置從上到下的順序依次為0~4。 |
ctr | DOUBLE | 廣告CTR。如果廣告點擊量除以展現量的結果大于0.03,則該參數取值為1,反之為0。 |
dt | STRING | 年月日,格式為YYYYMMDD。 |
您可以使用MaxCompute客戶端執行以下命令創建分區表ad。具體操作,請參見創建表。
create table if not exists ad (id STRING,age DOUBLE,sex DOUBLE,duration DOUBLE,place DOUBLE,ctr DOUBLE ) partitioned by (dt STRING) ;
alter table ad add if not exists partition (dt='20160919') partition (dt='20160920');
本工作流數據表ad的示例如下。您可以使用Tunnel命令導入分區表數據。具體操作,請參見導入數據。
id | age | sex | duration | place | ctr | dt |
0 | 49 | 1 | 9 | 0 | 0 | 20160919 |
1 | 17 | 1 | 3 | 1 | 1 | 20160919 |
2 | 44 | 0 | 4 | 0 | 0 | 20160919 |
3 | 14 | 1 | 9 | 1 | 0 | 20160919 |
4 | 44 | 1 | 5 | 4 | 0 | 20160919 |
5 | 10 | 1 | 9 | 3 | 1 | 20160919 |
6 | 42 | 1 | 7 | 3 | 0 | 20160919 |
7 | 51 | 1 | 3 | 1 | 1 | 20160919 |
8 | 18 | 0 | 3 | 3 | 0 | 20160919 |
9 | 39 | 0 | 8 | 4 | 1 | 20160919 |
10 | 45 | 1 | 3 | 2 | 0 | 20160919 |
11 | 57 | 0 | 8 | 2 | 0 | 20160919 |
12 | 14 | 0 | 7 | 2 | 1 | 20160919 |
步驟二:創建工作流
新建自定義工作流,并進入工作流,詳情請參見新建自定義工作流。
構建工作流的流程。
在左側組件列表,將源/目標下的讀數據表組件向畫布中拖入兩個,并分別重命名為ad-1和ad-2。
在左側組件列表,將數據預處理下的歸一化組件向畫布中拖入兩個。
在左側組件列表,將 下的邏輯回歸二分類組件拖入畫布中。
在左側組件列表,將機器學習下的預測組件拖入畫布中。
在左側組件列表,將源/目標下的寫數據表組件拖入畫布中,并重命名為ad_result-1。
將以上組件拼接為如下工作流。
序號
描述
①
數據源導入。
②
數據預處理。
③
模型訓練。
④
預測。
配置組件參數。
分別單擊畫布中的ad-2(訓練數據源)和ad-1(預測數據源)組件,在右側面板,配置工作流數據源。
頁簽
參數
描述
表選擇
表名
輸入ad。
分區
選中分區復選框。
參數
配置為 dt=@@{yyyyMMdd},確定預測數據為每天的增量數據。
字段信息
源表字段信息
配置表選擇后,系統會自動同步該數據表的源表字段信息,無需手動配置。
分別單擊畫布中的歸一化-1和歸一化-2組件,在右側面板字段設置頁簽,單擊選擇字段,選擇DOUBLE或INT類型的字段。
單擊畫布中的邏輯回歸二分類組件,在右側面板,配置參數(僅配置如下參數,其他參數使用默認值即可)。
頁簽
參數
描述
字段設置
訓練特征列
選擇age、sex、duration及place列。
目標列
選擇ctr列。
單擊畫布中的預測組件,在右側面板,配置參數(僅配置如下參數,其他參數使用默認值即可)。
頁簽
參數
描述
字段設置
特征列
選擇age、sex、duration及place列。
原樣輸出列
選擇ctr列。
單擊畫布中的ad_result-1組件,在右側面板表選擇頁簽,配置寫入表表名為ad_result。
單擊畫布左上方的運行按鈕,運行工作流。
工作流運行結束后,右鍵單擊畫布中的ad_result-1,在快捷菜單,單擊 ,即可查看預測生成的結果表。
其中:
prediction_result:表示每個廣告ID是否被點擊(1表示被點擊,0表示未被點擊)。
prediction_score:表示對應被點擊的概率。
步驟三:離線調度
使用DataWorks創建、配置并提交PAI任務,詳情請參見創建并使用PAI Studio節點。
配置調度任務時,將具體時間配置為每日凌晨0點進行訓練和推送信息,詳情請參見時間屬性配置說明。
在提交任務頁面,單擊右上方的運維,即可進入運維中心查看任務日志,詳情請參見查看并管理周期任務。
相關文檔
您也可以通過Designer提交離線調度任務,詳情請參見使用DataWorks離線調度Designer工作流。
關于歸一化組件更詳細的內容介紹,請參見歸一化。
關于邏輯回歸二分類更詳細的內容介紹,請參見邏輯回歸二分類。