基於MaxCompute平台進行機器學習並展示結果
MaxCompute大數據計算服務中提供了機器學習平台,用戶可基於該平台有效利用自己的數據,並從中發現價值。本文主要介紹從用戶行為數據收集,到在機器學習平台中運算,最後將結果同步到RDS數據庫中便於展示結果的一整個流程。本實驗實現的目標是收集用戶的操作行為數據,抽樣一部分數據進行人工標注,標注結果為滿意和不滿意,用1和0表示,然後用機器學習平台對行為數據進行訓練得到模型,最後以得到的模型基於用戶行為預測用戶對當前結果是否滿意。該實踐的創新之處在於借助DataHub和RDS以及任務運維將MaxCompute平台和本地項目結合起來,可自動實現模型預測。
1 用戶行為數據收集
本實驗用的阿裏雲的DataHub收集用戶行為數據。DataHub可實時收集到用戶產生的行為並實時同步到MaxCompute平台中。其主要流程如下(地址為datahub.console.aliyun.com):
1.1 創建項目
點擊創建Project按鈕彈出如下窗口:
輸入自定義的項目名稱點擊創建即可。
點擊查看可配置項目基本信息。
1.2 創建Topic
點擊創建Topic,可配置同步到MaxCompute平台中哪個項目那張表的信息。其彈出的窗口如下:
有兩種創建方式,直接創建和導入MaxCompute表結構。建議用第二種方式,該方式可直接導入MaxCompute中的表結構,不用自己再創建表。按提示完善信息即可創建完成Topic(提示:每個空都需要填,包括最後的備注,否則不能創建)。
1.3 配置完成
Topic創建完成,點擊查看可進入下圖頁麵,下圖中已經收集了數據,點擊數據抽樣可查看收集的數據。Connectors中可查看連接到MaxCompute的信息。
2 機器學習平台
本實驗用的邏輯回歸算法對行為數據進行分類。第一步DataHub收集到數據並同步到MaxCompute中之後,即可對數據進行處理與計算。
2.1 數據預處理
DataHub收集的用戶行為數據往往不符合機器學習平台的要求,此時需要先對數據做一些預處理操作。機器學習平台組件提供了數據預處理的各種組件。
為了能自動對收集的數據進行預處理,可在大數據開發套件中新建任務,設置其調度過程。其過程如下:
點擊新建任務:
類型中有可設置需要進行的任務類型。其中創建機器學習任務是創建完成之後,選擇在機器學習平台已創建的實驗,然後設置調度配置,然後即可自動執行機器學習的實驗。
2.2 模型訓練
數據預處理完成之後,將數據寫入下圖中1所表示的數據表中,然後用機器學習的寫數據組件讀取數據,下圖為數據訓練過程:
上圖中對數據特征進行了離散操作,然後采樣部分數據用邏輯回歸算法進行訓練,采樣部分數據進行測試,混淆矩陣可得到測試結果。
2.3 模型預測
當模型訓練完成之後,即可將模型用來預測。上圖中1表示模型訓練數據表,2表示待預測數據表,3表示預測結果存放表。
3 預測結果同步到RDS數據庫
3.1 創建數據源
大數據開發套件中的數據集成中可創建數據源,數據源的作用是將MaxCompute中的當前項目與某個數據源(如RDS數據庫)聯係起來:
點擊新增數據源:
按要求填寫即可創建成功。
3.2 同步數據到RDS數據庫
在大數據開發套件的數據開發中,點擊新建任務,創建數據同步類型的任務:
創建完成並按提示配置後如下:
點擊保存之後,點擊提交、測試運行即可將數據即時同步到RDS數據庫中。
同步到RDS數據庫之後,即可從數據庫中獲取預測結果並展示,這樣就可將項目與MaxCompute平台結合起來。
4 任務運維
在任務運維中可設置MaxCompute中創建的各種任務的調度過程,即設置定時任務。而MaxCompute平台的各種組件,包括機器學習平台中的實驗均可創建為任務,因此可用任務運維控製機器學習平台的實驗自動運行。
5 總結
本文主要介紹了DataHub收集數據,MaxCompute平台處理數據,同步數據到RDS數據庫展示數據的一整個流程。展示了如何獲取項目中的行為數據,用MaxCompute進行處理,然後同步到RDS數據庫中,項目再從RDS數據庫中獲取MaxCompute的處理結果。這樣就將本地的項目與MaxCompute平台完美結合起來了。
#MaxCompute最佳實踐#
最後更新:2017-07-24 09:32:55