LibRec: 基於機器學習的大資料推薦系統
簡介:
LibRec 是領先的推薦系統Java開源演算法工具庫,覆蓋了70餘個各型別推薦演算法,有效解決評分預測和物品推薦兩大關鍵的推薦問題。推薦系統是機器學習和大資料技術的經典實際應用,旨在提供高效準確的個性化物品推薦,是現代Web應用的重要元件。
專案結構清晰,程式碼風格良好,測試充分,註釋與手冊完善。目前專案使用GPL3.0協議開源在github中,歡迎大家試用。
Librec: http://www.librec.net/
Github Repo: https://github.com/guoguibing/librec
Doc Link: http://wiki.librec.net/doku.php
特色功能:
豐富的演算法集
截止到目前,LibRec已經整合了70餘個各型別推薦演算法。具體來說,分為基準演算法、協同過濾演算法、基於內容的演算法、情景感知演算法、混合演算法和其它擴充套件演算法等。在2.0版本中,增加了40餘個新演算法,包括概率圖模型、張量分解模型、因子分解機、基於評論的模型、深度學習模組(RBM)等新穎的演算法。團隊的每個核心開發人員往往負責某一型別演算法的開發和測試工作。
良好的模組化
相對於LibRec 1.x,新版本在底層結構上做了非常深入的優化,尤其是模組化方面。新版本的推薦庫可分為以下三部分:資料預處理、推薦演算法和訓練後處理。在資料預處理模組,主要是資料的轉換與分割。支援兩種格式資料的輸入和轉換,一個是常見的 User-Item-Rating 格式,另一個是更通用的ARFF格式,使用者還可以擴充套件新型別的資料以增強現有的ARFF格式。在資料分割方面,支援按Ratio,Given-N,k-fold Cross validation, Leave-one-out等方式。在推薦模型模組,包括情景感知和演算法整合。情景感知指的是演算法依賴的情景資訊,如使用者相似度;演算法整合則是演算法的邏輯實現。在模型訓練之後,LibRec支援兩種操作:一是對測試集進行評估,得到如MAE、RMSE、AUC、MAP、NDCG等測試結果;二是對給定的使用者(或情景)進行評分預測或物品推薦等查詢操作,使用者可以通過實現filter介面自定義更多的過濾操作。
靈活的框架配置
LibRec新版本承襲了基於配置的特點,但是有所更新和發展。新的配置實現參考了其它知名資料探勘工具庫的實現特點,在靈活性上得到了有效的提高。具體來說,我們抽取出很多公共的配置項,也為獨立的演算法保留了特定的配置引數。為了提高演算法的易配置性,我們為大多數演算法保留了可用的供參考配置設定。
高效的執行效能
LibRec一直非常注重演算法執行的高效性,並儘可能地優化框架結構和演算法實現。與其它的推薦演算法庫相比,LibRec能夠在得到相當的推薦效能的前提下,在更短的時間內執行完成。
簡單的框架用法
LibRec早期版本只能獨立執行,難以整合在其它工程中使用。由於良好的模組結構,新版本既可以單獨執行,也能夠作為依賴庫應用於其它工程中
良好的可擴充套件性
良好的易擴充套件性。LibRec提供了很好的公共介面以便使用者進行個性化擴充套件。包括資料型別、推薦演算法、輸出型別、評估因子、過濾器等的擴充套件介面。使用LibRec開發新演算法,使用者通常只需要關注新演算法的邏輯實現,而不需要擔心其它部分的實現。
結構示意:
流程示意:
相關連結:
Librec 2.0 通識篇:
https://mp.weixin.qq.com/s/AB39ihVWXYHRbeODbGO-2g
匯入LibRec至Eclipse平臺:
https://mp.weixin.qq.com/s/OyYn5_4GYAbF0L0SFgsHVQ
LibRec命令列操作:
https://mp.weixin.qq.com/s/xnkg6BGyUUKmbs009p8XCw
Librec 一週年紀:
https://mp.weixin.qq.com/s/vDnca1FMW9vVrFDgti_1IA
歡迎關注Librec微信公眾號:
相關文章
- 機器學習 — 推薦系統機器學習
- 機器學習 | 基於機器學習的推薦系統客戶購買可能性預測分析機器學習
- Spotify 每週推薦功能:基於機器學習的音樂推薦機器學習
- 大資料應用——資料探勘之推薦系統大資料
- 【推薦系統篇】--推薦系統之測試資料
- 基於Hive的大資料分析系統Hive大資料
- 知了 | 基於NLP的智慧問答推薦系統
- 基於內容的推薦系統演算法演算法
- 微信基於PyTorch的大規模推薦系統訓練實踐PyTorch
- 基於JavaScript的機器學習系統JavaScript機器學習
- 機器學習和資料探勘的推薦書單機器學習
- 五個有關推薦系統的資料
- 基於R語言的跨平臺大資料機器學習與資料分析系統R語言大資料機器學習
- 網易雲音樂基於使用者的推薦系統
- 基於指標管理系統建設的BI工具推薦指標
- 推薦六個用於大資料分析的最好工具大資料
- 關於《推薦系統實踐》
- 吳恩達機器學習筆記 —— 17 推薦系統吳恩達機器學習筆記
- 推薦系統實踐 0x09 基於圖的模型模型
- 基於springboot的圖書個性化推薦系統Spring Boot
- 豈止於大,一文讀懂大資料及其在推薦系統的應用大資料
- 關於推薦系統中的特徵工程特徵工程
- 基於物件特徵的推薦物件特徵
- 京東推薦系統架構揭祕:大資料時代下的智慧化改造架構大資料
- 電影推薦系統資料預處理
- 推薦系統基礎知識(二)
- 如何為「紐約時報」開發基於內容的推薦系統
- 推薦一個基於thinkphp6的通用後臺管理系統PHP
- 推薦系統
- 基於AI+資料驅動的慢查詢索引推薦AI索引
- 【推薦系統篇】--推薦系統之訓練模型模型
- 編輯推薦之《推薦系統》
- 基於使用者的協同過濾來構建推薦系統
- 百度基於雲原生的推薦系統設計與實踐
- 實現基於內容的電影推薦系統—程式碼實現
- 《Spark 3.0大資料分析與挖掘:基於機器學習》簡介Spark大資料機器學習
- 分散式機器學習框架與高維實時推薦系統分散式機器學習框架
- 推薦一個每天推送人工智慧、機器學習、大資料日報的網站人工智慧機器學習大資料網站