基于Spark和Flask的一個可伸縮的電影推薦系統
這份Apache Spark教程可以指導你逐步了解如何使用 MovieLens 數據集,基于 協同過濾 建立一個電影推薦系統。協同過濾使用 Spark的交替最小方差(ALS) 算法。
該教程由兩部分組成。第一部分是關于在Spark的RDDs(Resilient Distributed Datasets,是一個并行的容錯數據結構,可以讓用戶顯示地將數據存儲到磁盤和內存中,并能控制數據的分區)中獲取并解析電影和評分數據。第二部分是關于建立和使用推薦系統,并在稍后的在線推薦系統中沿用它。這兩部分最近都發布在了 Codementor.io 。
第一部分: 建立推薦系統
第二部分: 建立并運行web服務
這份教程可以被單獨用來建立基于MovieLens數據集的電影推薦系統。單從使用這個數據集或這個算法方面來看都不算是創新(我推薦你看 EdX course 或是 Google 的例子)。因為我們把重點放在最終得到一個在線環境下可用的模型,并且在不同情形下都可以使用。教程的第二部分解釋了在Spark模型上如何使用Python、Flask建立web服務。通過這些工作,你就能夠開發一個完整的在線電影推薦服務。
快速開始
本教程的應用程序已經擁有自己的 代碼倉庫(repository) 了 ,未來還會繼續發展。請盡情fork開發自己的應用吧!
文件server/server.py啟動了 CherryPy 服務器,這個服務器會運行 Flask 的app.py以啟動一個基于Spark的RESTful web服務器engine.py。通過API我們就可以實現在線電影推薦了。
關于如何運行使用這個服務的詳細指導請參考 筆記第二部分 。
謝謝分享!
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!