Q:python-recsys是什么東西鞍泉?
A:
python-recsys是
A python library for implementing a recommender system.
翻譯過(guò)來(lái)就是“用來(lái)實(shí)現(xiàn)一個(gè)推薦系統(tǒng)的python函數(shù)庫(kù)”。
也就是說(shuō)般贼,這是一個(gè)幫助我們實(shí)現(xiàn)一個(gè)(自定義儒喊、個(gè)性化的)推薦系統(tǒng)的python函數(shù)包祠肥。
安裝這個(gè)庫(kù)只需要一個(gè)簡(jiǎn)單的指令:
pip install recsys
更多信息請(qǐng)移步<a >官方文檔</a>或者<a >github主頁(yè)</a>
</br>
Q:這個(gè)庫(kù)具體結(jié)構(gòu)是怎樣的纸镊?
A:
recsys庫(kù)是一個(gè)很小的庫(kù),其目錄結(jié)構(gòu)和API很快就能讀懂檐晕。
從github上下載源代碼后暑诸,會(huì)看到四個(gè)目錄:doc、draft辟灰、recsys个榕、tests。
- doc 存放的是項(xiàng)目的文檔芥喇,基本上都是md文件和rst文件西采。
- draft目錄是一些example腳本,可以在文檔里看看這些腳本怎么用继控,也可以參考這些example的寫法來(lái)寫自己的腳本械馆。
- tests目錄則是存放著一些測(cè)試代碼胖眷。
-
recsys目錄是最主要的核心目錄,存放著我們用到的模塊霹崎。recsys內(nèi)部又有四個(gè)包:algorithm珊搀、datamodel、evaluation尾菇、utils境析。
datamodel包存放著這個(gè)小推薦引擎用到的數(shù)據(jù)結(jié)構(gòu)。
evaluation包存放著一些用來(lái)衡量推薦系統(tǒng)性能的函數(shù)派诬。
utils包則是存放提高推薦系統(tǒng)性能的工具劳淆。
algorithm包則是重頭戲,包含著已經(jīng)實(shí)現(xiàn)了協(xié)同過(guò)濾算法的模塊factorize
以及供用戶實(shí)現(xiàn)新算法的模塊baseclass
默赂。
</br>
Q:這個(gè)庫(kù)怎么使用呢憔儿?
A :
這個(gè)庫(kù)有兩種層次的用法:
- 使用這個(gè)庫(kù)本身已經(jīng)實(shí)現(xiàn)的協(xié)同過(guò)濾算法來(lái)進(jìn)行推薦工作。
- 自己新建一個(gè)類放可,繼承
baseclass
模塊里的Algorithm
類,實(shí)現(xiàn)自己的算法朝刊。
recsys模塊里的factorize
模塊中的SVD
類和SVDNeighbourhood
封裝了基于用戶的協(xié)同過(guò)濾算法和基于物品的協(xié)同過(guò)濾算法耀里。具體的使用方法請(qǐng)看<a >Quick Start</a>和<a >API文檔</a>。
若要自己實(shí)現(xiàn)一個(gè)算法拾氓,則要先繼承Algorithm
類冯挎,如:
from recsys.algorithm.baseclass import Algorithm class NewResysAlgorithm(Algorithm):
同時(shí),還要覆蓋父類Algorithm
的predict
和recommend
方法咙鞍。此外房官,庫(kù)里的datamodel只有user、item续滋、data三個(gè)翰守,顯然是專門為協(xié)同過(guò)濾算法服務(wù)的。所以有需要的話疲酌,還要建立自己的datamodel蜡峰。
總體來(lái)看,recsys庫(kù)比較小朗恳,甚至還可以說(shuō)有點(diǎn)簡(jiǎn)陋湿颅,但是它實(shí)現(xiàn)了協(xié)同過(guò)濾算法,還給我們提供了自定義推薦算法的框架粥诫,這對(duì)于我們學(xué)習(xí)推薦系統(tǒng)是有一定幫助的油航。