閱讀244 返回首頁    go 阿裏雲 go 技術社區[雲棲]


基於MaxCompute平台進行機器學習並展示結果

MaxCompute大數據計算服務中提供了機器學習平台,用戶可基於該平台有效利用自己的數據,並從中發現價值。本文主要介紹從用戶行為數據收集,到在機器學習平台中運算,最後將結果同步到RDS數據庫中便於展示結果的一整個流程。本實驗實現的目標是收集用戶的操作行為數據,抽樣一部分數據進行人工標注,標注結果為滿意和不滿意,用10表示,然後用機器學習平台對行為數據進行訓練得到模型,最後以得到的模型基於用戶行為預測用戶對當前結果是否滿意。該實踐的創新之處在於借助DataHubRDS以及任務運維將MaxCompute平台和本地項目結合起來,可自動實現模型預測。

1 用戶行為數據收集

      本實驗用的阿裏雲的DataHub收集用戶行為數據。DataHub可實時收集到用戶產生的行為並實時同步到MaxCompute平台中。其主要流程如下(地址為datahub.console.aliyun.com):

1.1 創建項目

       點擊創建Project按鈕彈出如下窗口:

                           4f32ab63067bc6e5e4ae0d15e1df3339d54fd7eb

       輸入自定義的項目名稱點擊創建即可。

           92c751451937a3da556c02ae246ee938a9a55e31

 點擊查看可配置項目基本信息。

1.2 創建Topic

                        2993ec14e04dee23b83795dd2fc07b48ecfef31a

點擊創建Topic,可配置同步到MaxCompute平台中哪個項目那張表的信息。其彈出的窗口如下:

                       4577effd873924099eaad818f780f25086c4f9c4

有兩種創建方式,直接創建和導入MaxCompute表結構。建議用第二種方式,該方式可直接導入MaxCompute中的表結構,不用自己再創建表。按提示完善信息即可創建完成Topic(提示:每個空都需要填,包括最後的備注,否則不能創建)。

1.3 配置完成

       Topic創建完成,點擊查看可進入下圖頁麵,下圖中已經收集了數據,點擊數據抽樣可查看收集的數據。Connectors中可查看連接到MaxCompute的信息。

                         6aca754ae35d6cbfe4f00d3e0940c8a49048e5ef

2 機器學習平台

      本實驗用的邏輯回歸算法對行為數據進行分類。第一步DataHub收集到數據並同步到MaxCompute中之後,即可對數據進行處理與計算。

2.1 數據預處理

       DataHub收集的用戶行為數據往往不符合機器學習平台的要求,此時需要先對數據做一些預處理操作。機器學習平台組件提供了數據預處理的各種組件。

                         6cf5e0846248f18b8a41718605541a7558133608

為了能自動對收集的數據進行預處理,可在大數據開發套件中新建任務,設置其調度過程。其過程如下:

                        01ee87902f75afa06eaf316b0577d827ed7ff1c4

點擊新建任務:

                        8d692afb9a8b009276f7e4abbb3b2f817fcb2b59

類型中有可設置需要進行的任務類型。其中創建機器學習任務是創建完成之後,選擇在機器學習平台已創建的實驗,然後設置調度配置,然後即可自動執行機器學習的實驗。

2.2 模型訓練

        數據預處理完成之後,將數據寫入下圖中1所表示的數據表中,然後用機器學習的寫數據組件讀取數據,下圖為數據訓練過程:

                                5ea6749a87fa884f2348815ace7061c44e0e42fd

上圖中對數據特征進行了離散操作,然後采樣部分數據用邏輯回歸算法進行訓練,采樣部分數據進行測試,混淆矩陣可得到測試結果。

2.3 模型預測

                       9e17f7125e1e7335cdad505491bbf89c54021da9

當模型訓練完成之後,即可將模型用來預測。上圖中1表示模型訓練數據表,2表示待預測數據表,3表示預測結果存放表。

3 預測結果同步到RDS數據庫

3.1 創建數據源

      大數據開發套件中的數據集成中可創建數據源,數據源的作用是將MaxCompute中的當前項目與某個數據源(如RDS數據庫)聯係起來:

                    51ac20e12b834af06219d953be99c179243c795e

點擊新增數據源:

                    c75fa2d3128ccd27affdfcfa7c818871c361c4ec

按要求填寫即可創建成功。

3.2 同步數據到RDS數據庫

         在大數據開發套件的數據開發中,點擊新建任務,創建數據同步類型的任務:

                            3484dfda855109f9faa940aa8c7d668e6ec2dc1a

創建完成並按提示配置後如下:

                     5f352d7d9da1bd510a8e9f006c3339f0e8d7c45d

點擊保存之後,點擊提交、測試運行即可將數據即時同步到RDS數據庫中。

242c0dfb662f3110aa98978050acfaca23cd6cbc

同步到RDS數據庫之後,即可從數據庫中獲取預測結果並展示,這樣就可將項目與MaxCompute平台結合起來。

4 任務運維

      在任務運維中可設置MaxCompute中創建的各種任務的調度過程,即設置定時任務。而MaxCompute平台的各種組件,包括機器學習平台中的實驗均可創建為任務,因此可用任務運維控製機器學習平台的實驗自動運行。

5 總結

       本文主要介紹了DataHub收集數據,MaxCompute平台處理數據,同步數據到RDS數據庫展示數據的一整個流程。展示了如何獲取項目中的行為數據,用MaxCompute進行處理,然後同步到RDS數據庫中,項目再從RDS數據庫中獲取MaxCompute的處理結果。這樣就將本地的項目與MaxCompute平台完美結合起來了。

#MaxCompute最佳實踐#






















最後更新:2017-07-24 09:32:55

  上一篇:go  出手1000萬美元,馬雲非洲之行交“學費”
  下一篇:go  未來的超級智能網絡攻擊需要AI競技俱樂部來拯救