Q:python-recsys是什么東西?
A:
python-recsys是
A python library for implementing a recommender system.
翻譯過來就是“用來實現一個推薦系統(tǒng)的python函數庫”。
也就是說,這是一個幫助我們實現一個(自定義、個性化的)推薦系統(tǒng)的python函數包。
安裝這個庫只需要一個簡單的指令:
pip install recsys
更多信息請移步<a >官方文檔</a>或者<a >github主頁</a>
</br>
Q:這個庫具體結構是怎樣的?
A:
recsys庫是一個很小的庫,其目錄結構和API很快就能讀懂。
從github上下載源代碼后,會看到四個目錄:doc、draft、recsys、tests。
- doc 存放的是項目的文檔,基本上都是md文件和rst文件。
- draft目錄是一些example腳本,可以在文檔里看看這些腳本怎么用,也可以參考這些example的寫法來寫自己的腳本。
- tests目錄則是存放著一些測試代碼。
-
recsys目錄是最主要的核心目錄,存放著我們用到的模塊。recsys內部又有四個包:algorithm、datamodel、evaluation、utils。
datamodel包存放著這個小推薦引擎用到的數據結構。
evaluation包存放著一些用來衡量推薦系統(tǒng)性能的函數。
utils包則是存放提高推薦系統(tǒng)性能的工具。
algorithm包則是重頭戲,包含著已經實現了協(xié)同過濾算法的模塊factorize
以及供用戶實現新算法的模塊baseclass
。
</br>
Q:這個庫怎么使用呢?
A :
這個庫有兩種層次的用法:
- 使用這個庫本身已經實現的協(xié)同過濾算法來進行推薦工作。
- 自己新建一個類,繼承
baseclass
模塊里的Algorithm
類,實現自己的算法。
recsys模塊里的factorize
模塊中的SVD
類和SVDNeighbourhood
封裝了基于用戶的協(xié)同過濾算法和基于物品的協(xié)同過濾算法。具體的使用方法請看<a >Quick Start</a>和<a >API文檔</a>。
若要自己實現一個算法,則要先繼承Algorithm
類,如:
from recsys.algorithm.baseclass import Algorithm class NewResysAlgorithm(Algorithm):
同時,還要覆蓋父類Algorithm
的predict
和recommend
方法。此外,庫里的datamodel只有user、item、data三個,顯然是專門為協(xié)同過濾算法服務的。所以有需要的話,還要建立自己的datamodel。
總體來看,recsys庫比較小,甚至還可以說有點簡陋,但是它實現了協(xié)同過濾算法,還給我們提供了自定義推薦算法的框架,這對于我們學習推薦系統(tǒng)是有一定幫助的。