美文网首页
python-recsys使用说明(参考)

python-recsys使用说明(参考)

作者: 红色的Ricky | 来源:发表于2017-02-16 16:51 被阅读926次

Q:python-recsys是什么东西?

A:
python-recsys是

A python library for implementing a recommender system.

翻译过来就是“用来实现一个推荐系统的python函数库”。

也就是说,这是一个帮助我们实现一个(自定义、个性化的)推荐系统的python函数包。

安装这个库只需要一个简单的指令:
pip install recsys
更多信息请移步<a href="http://ocelma.net/software/python-recsys/build/html/index.html">官方文档</a>或者<a href="https://github.com/ocelma/python-recsys/">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包存放着一些用来衡量推荐系统性能的函数。
    utils包则是存放提高推荐系统性能的工具。
    algorithm包则是重头戏,包含着已经实现了协同过滤算法的模块factorize以及供用户实现新算法的模块baseclass

</br>

Q:这个库怎么使用呢?

A :
这个库有两种层次的用法:

  1. 使用这个库本身已经实现的协同过滤算法来进行推荐工作。
  2. 自己新建一个类,继承baseclass模块里的Algorithm类,实现自己的算法。

recsys模块里的factorize模块中的SVD类和SVDNeighbourhood封装了基于用户的协同过滤算法和基于物品的协同过滤算法。具体的使用方法请看<a href="http://ocelma.net/software/python-recsys/build/html/quickstart.html">Quick Start</a>和<a href="http://ocelma.net/software/python-recsys/build/html/api.html#algorithms">API文档</a>。

若要自己实现一个算法,则要先继承Algorithm类,如:
from recsys.algorithm.baseclass import Algorithm class NewResysAlgorithm(Algorithm):
同时,还要覆盖父类Algorithmpredictrecommend方法。此外,库里的datamodel只有user、item、data三个,显然是专门为协同过滤算法服务的。所以有需要的话,还要建立自己的datamodel。


总体来看,recsys库比较小,甚至还可以说有点简陋,但是它实现了协同过滤算法,还给我们提供了自定义推荐算法的框架,这对于我们学习推荐系统是有一定帮助的。

相关文章

网友评论

      本文标题:python-recsys使用说明(参考)

      本文链接:https://www.haomeiwen.com/subject/owrhwttx.html