【问题标题】:A good collaborative filtering/matching/recommendation library for Python/Django?一个好的 Python/Django 协同过滤/匹配/推荐库?
【发布时间】:2012-02-15 11:07:18
【问题描述】:

我正在寻找一个库,可用于根据问题的答案将我的用户与其他 Django 模型匹配——也是我自己的 django 模型。

所以我想要一些可定制的东西,有良好的文档/支持,希望实现起来不会太难!

大家有什么好的推荐吗?我查看了 Crab 和 Django-recommender,但似乎都没有很好的文档记录。

基本上我有两个调查应用程序,有相应但不完全相同的问题和答案。例如。 app1 中的一个问题可能是“你每周喝多少晚?” app2 中的一个问题可能是“您希望每周喝多少晚?”,实例中第一个问题的外键。我想收集对这些问题的回答,并使用它们将每个集合中的用户相互配对,根据第 1 组中的用户已经使用的内容为第 2 组中的用户提供建议。

【问题讨论】:

  • “根据问题的答案将我的用户与其他 Django 模型匹配”?你能解释一下吗?
  • 您能否更新问题以将所有事实包含在一个易于阅读的位置?
  • Colleen,发布相关模型以更好地了解它们的结构会很有用。在我的脑海中,我不知道现有的库可以做你想做的事,主要是因为它似乎最终对实现来说太具体了。

标签: python django recommendation-engine matching collaborative-filtering


【解决方案1】:

【讨论】:

    【解决方案2】:

    他们在免费的斯坦福 ML 课程中介绍了这个主题。在http://www.ml-class.org/course/video/preview_list查看第十六章的视频

    虽然讨论的实现是 Matlab/Octave,但用 Python 实现应该不难,如果你使用 Numpy 就更容易了

    【讨论】:

    • 谢谢!看起来不错!
    【解决方案3】:

    Abracadabra Recommender API 是一种适用于任何编码语言(包括 Python)的非常灵活的解决方案。

    基本上它是一个推荐算法即服务库。设置非常简单:您只需将 HTTP 调用(可以使用 Django 进行)发送到 API 端点 url 即可训练您的模型并接收建议。 View the docs how.

    借助 Abracadabra Recommender API,在使用 Python 时,您首先将数据添加到您的模型中:

    # These code snippets use an open-source library. http://unirest.io/python
    response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/add/subjects?recommenderId=rec1&subjectId=See+docs",
      headers={
        "X-Mashape-Key": "<required>",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    )
    

    然后您通过评分或喜欢主题(例如电影)来训练模型:

    # These code snippets use an open-source library. http://unirest.io/python
    response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/rate/subject?recommenderId=rec1&subjectId=gameofthrones&subjectWeight=10&userId=user1",
      headers={
        "X-Mashape-Key": "<required>",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    )
    

    完成后,您会收到基于基于内容、协作或混合过滤的建议,如下所示:

    # These code snippets use an open-source library. http://unirest.io/python
    response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/recommend?method=content&recommenderId=rec1&userId=user1",
      headers={
        "X-Mashape-Key": "<required>",
        "Accept": "application/json",
        "Content-Type": "application/json"
      }
    )
    

    您可以查看更多其他语言的示例,包括AngularReactJavascriptNodeJSCurlJavaPythonObjective-CRuby、@ 987654337@... 在API homepage.

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2010-12-03
      • 1970-01-01
      • 2015-03-17
      • 2016-05-08
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多