廣而深的模型構建和服務推薦係統
建立一個推薦係統的機器學習管道通常包括以下階段:
這個參考解決方案覆蓋藍色所示的階段。(見主題不介紹?)
數據
使用的數據在這個筆記本包含以下三角洲表:
user_profile
:包含user_id
值和靜態配置文件item_profile
:包含item_id
值和靜態配置文件user_item_interaction
:包含事件,用戶與一個項目。這個表是隨機分成三個三角洲表構建和評估模型:火車
,驗證
,測試
。
這數據格式是常見的推薦問題。一些例子:
對於廣告推薦係統,項目是廣告和user-item交互記錄用戶點擊廣告。
對於網上購物推薦係統,項目產品和user-item交互的用戶審核或訂單曆史記錄。
當你適應這個筆記本數據集,您隻需要保存的數據增量表並提供表名稱和位置。加載數據主要是可以重用的代碼。
有關詳細信息,請參閱數據集一代筆記本。
模型
這個筆記本使用廣而深的模型(紙|tensorflow實現)。這是一個受歡迎的模型,該模型結合了多種線性模型和一個深層神經網絡來處理記憶和泛化。
這個模型隻是一個例子在許多深度學習模型的推薦問題或對任何機器學習管道。這裏的重點是展示如何構建工作流。你可以交換不同模型對自己的用例和調優模型更好的評價指標。
主題不介紹?
讓筆記本專注於顯示如何實現一個推薦係統,不包括以下階段。這些階段是在工作流圖中顯示為灰色塊。
數據收集和探索性數據分析。看到磚上運行你的第一個ETL工作負載。
工程特性。特性工程是一個重要的推薦係統的一部分,和多的信息可以在這個話題。這個筆記本假定你有一個策劃數據集包含user-item交互。本筆記本中使用的數據集的詳細信息,明白了數據。工程特性的更多信息,請參閱以下資源:
磚的解決方案加速器筆記本個性化的客戶體驗的建議展示功能的示例工程推薦係統。
數據進行預處理特性的例子工程與scikit-learn MLlib學習和轉移。
模型調優。現有管道的模型調優涉及修改代碼,包括工程特點、模型結構、模型hyperparameters,甚至更新數據收集階段,提高模型的性能。關於工具的更多信息模型調優在磚上,看到的Hyperparameter調優。