基於對象特徵的推薦

(本實驗選用數據爲真實電商脫敏數據,僅用於學習,請勿商用)html

在上一期基於協同過濾的的推薦場景中,咱們介紹瞭如何經過PAI快速搭建一個基於協同過濾方案的推薦系統,這一節會介紹一些如何基於推薦對象特徵的推薦方法。算法

首先看下整個業務流程圖,這是一個基於對象特徵的推薦場景的通用流程:學習

  • 首先把數據導入Maxcompute,有監督的結構化數據
  • 接着作特徵工程,在特徵工程環節主要作一些數據的預處理以及特徵的衍生,特徵衍生的做用是擴充數據維度,使得數據能更大限度的表示業務特色
  • 接着把數據經過拆分分紅兩份,一份經過分類算法生成二分類模型,另外一份數據對模型效果進行測試
  • 最後經過評估組件獲得模型效果

1、業務場景描述

經過一份真實的電商數據的四、5月份作模型訓練生成預測模型,經過6月份的購物數據對預測模型進行評估最終選擇最優的模型部署爲在線http服務供業務方調用。測試

本次實驗選用的是PAI-Studio做爲實驗平臺,僅經過拖拽組件就能夠快速實現一套基於對象特徵的推薦系統。本實驗的數據和完整業務流程已經內置在了PAI首頁模板,開箱即用:spa

2、數據集介紹

數據源:本數據源爲天池大賽提供數據,數據按時間分爲兩份,分別是7月份以前的購買行爲數據和7月份以後的。 
具體字段以下:3d

字段名 含義 類型 描述
user_id 用戶編號 string 購物的用戶ID
item_id 物品編號 string 被購買物品的編號
active_type 購物行爲 string 0表示點擊,1表示購買,2表示收藏,3表示購物車
active_date 購物時間 string 購物發生的時間

數據截圖: 
htm

3、數據探索流程

本次實驗選用的是PAI-Studio做爲實驗平臺,僅經過拖拽組件就能夠快速實現一套基於協同過濾的推薦系統,而且支持自動調參以及模型一鍵部署的服務。對象

實驗流程圖:blog

(1)特徵工程

在特徵工程的流程中是把最原始的只有4個字段的數據經過特種工程的方法進行數據維度的擴充。在推薦場景中有兩個方面特徵,一方面是所推薦的對象的特徵,另外一方面是被推薦對象的特徵。資源

在商品推薦這個案例中:

  • 被推薦對象爲商品(item),擴充的維度爲每一個item被購買量、每一個item被點擊量、每一個item被點擊購買率(購買量除以點擊率)
  • 推薦對象爲用戶(user),擴充的維度爲每一個user總的購買量、總的點擊量、總的點擊購買率(點擊數除以購買率,能夠得出每點擊多少次購買一個產品,能夠用來描述用戶購物的果斷性)

最終數據由原始的4個字段變成了10個字段:

(2)模型訓練

如今已經構建了一個大寬表,有了作完特徵工程的結構化數據,如今就能夠訓練模型了。這個案例中選用了邏輯迴歸算法,在作模型訓練過程當中有一個痛點就是如何找到合適的參數,對於邏輯迴歸參數(以下圖)而言,如何調整如下幾個參數,使得模型訓練能達到最好的效果是一個很是有挑戰的任務。

爲了解決繁瑣的調參工做帶來的勞動量問題,PAI產品內置了AutoML引擎幫助調參,在頁面上打開AutoML,只要設置下須要調參的算法的參數範圍以及評估標準,後臺引擎便可在最小的資源消耗下找到最合理的參數,詳見:

(3)模型評估

模型評估模塊是用預留的一部分未參與模型訓練的數據評估模型質量,一般推薦場景都是二分類實驗,可使用混淆矩陣和二分類評估組件去評估結果。

  • 二分類評估:打開組件選擇「圖表」,會展現下圖ROC曲線,其中藍色區域的面積爲AUC值,面積越大表示模型質量越高

  • 混淆矩陣:經過混淆矩陣能夠肯定具體的預測準確率、召回率、F1-Score等指標

(4)模型在線部署

模型生成後,若是效果也達到預期,可使用PAI-EAS將模型一鍵部署爲在線服務,經過http訪問。點擊畫布上的「部署」按鈕,選擇「模型在線部署」功能,選擇須要部署的模型。

後續流程能夠參考在線預測文檔:https://help.aliyun.com/document_detail/92917.html

部署成在線服務以後,模型服務能夠經過http請求訪問,這樣就能夠作到模型跟用戶自身的業務結合,完成PAI模型訓練和業務應用的打通。

原文連接

相關文章
相關標籤/搜索