LibRec (https://guoguibing.github.io/librec/index.html) 是一個用於推薦系統的 Java 函式庫(需要 Java 1.7 或更高版本)。它實現了一套最先進的推薦演算法,旨在解決兩個經典的推薦任務:評級預測和項目排名。
這裡設計並提供了電影推薦系統。
請參考LibRec文檔和API文檔
距離上一個版本發布已經一年了。這一年,LibRec專案發生了許多變化,其中最重要的就是LibRec團隊的發展。團隊憑藉著眾多專家的智慧以及經驗豐富、熱情的貢獻者的協作,推動了 LibRec 的發展。沒有他們的巨大努力和勤奮,就不可能達到單一開發者所夢想的狀態。
LibRec 2.0 並不是我們團隊合作的結束,而只是更大目標的開始。我們的目標是持續提供 NEXT 版本,以獲得更好的體驗和效能。計劃中有很多方向和目標,我們會盡力實現。收到所有 LibRec 用戶的任何程式碼貢獻、建議和評論總是令人興奮的。
我們希望您喜歡新版本!
PS:追蹤我們微信,取得LibRec第一手最新資訊。
LibRec的流程如下所示。
透過行家
<dependency>
<groupId>net.librec</groupId>
<artifactId>librec-core</artifactId>
<version>2.0.0</version>
</dependency>
按套餐
您可以使用命令參數的配置來執行 LibRec:
librec rec -exec -D rec.recommender.class=itemcluster -D rec.pgm.number=10 -D rec.iterator.maximum=20
或來自設定檔:
librec rec -exec -conf itemcluster-test.properties
您可以使用LibRec作為專案的一部分,並使用以下程式碼來執行推薦器。
公共無效主(字串[]參數)拋出異常{ // 推薦配置 配置conf = new Configuration(); 資源資源 = new Resource("rec/cf/userknn-test.properties"); conf.addResource(資源); // 建立資料模型 DataModel dataModel = new TextDataModel(conf); dataModel.buildDataModel(); // 設定推薦上下文 RecommenderContext 上下文 = new RecommenderContext(conf, dataModel); RecommenderSimilarity 相似度 = new PCCSimilarity(); 相似度.buildSimilarityMatrix(dataModel, true); context.setSimilarity(相似度); // 訓練 推薦器recommender = new UserKNNRecommender(); 推薦者.推薦(上下文); // 評估 RecommenderEvaluator 評估器 = new MAEEvaluator(); 推薦者.評估(評估者); // 推薦結果 列表推薦項目列表=recommender.getRecommendedList(); RecommendedFilter 過濾器 = new GenericRecommendedFilter(); 推薦項目清單 = filter.filter(推薦項目清單); }
我們要感謝以下人員為 LibRec 貢獻原始碼,包括 Robin Burke 教授、Bin Wu、Diego Monti、Ge Zhou、Li Wenxi、Marco Mera、Ran Locar、Shawn Rutledge、ShuLong Chen、Tao Lian 、Takuya Kitazawa、洪兆華、譚家樂、Daniel Velten、錢少峰等。
我們也感謝許多其他人報告錯誤和問題,並提供寶貴的建議和支持。
如果 LibRec 對您的研究有幫助,請引用以下論文。
LibRec 是免費軟體:您可以根據自由軟體基金會發布的 GNU 通用公共授權 (GPL) 的條款(授權的第 3 版或(由您選擇)任何更高版本)重新散佈和/或修改它。 LibRec 的分發是希望它有用,但不提供任何保證;甚至沒有適銷性或特定用途適用性的默示保證。有關更多詳細信息,請參閱 GNU 通用公共許可證。
您應該已收到 GNU 通用公共授權和 LibRec 的副本。如果沒有,請參閱 http://www.gnu.org/licenses/。