我目前正在学习推荐系统,学习了一些关于协作过滤、用户CF、项目CF的知识,很明显,使用这些算法来解决问题是这样的: 1)用户购买XXX也购买YYY 2)用户查看XXX也查看YYY。
我的问题是:如何解决这样的问题: 1)用户购买XXX也查看YYY 2)用户查看XXX也购买YYY?
更新:刚刚将标题更正为:“用户购买了 XXX,也查看了 YYY”
发布于 2011-03-29 07:19:34
虽然我不确定这是否真的是“推荐”,但我可以告诉您如何在Mahout中跨域处理推荐。您可以构建两个DataModel,一个是基于用户购买的,另一个是基于用户的项目视图。您将使用购买数据作为UserSimilarity或ItemSimilarity实现的输入,但是,然后将视图数据作为输入DataModel提供给Recommender实现。这样你就可以计算出更像你建议的东西了。
发布于 2011-03-29 04:23:39
假设您有两个表产品和sold_products。每次销售产品时,都会将其添加到sold_products表中。我们将说这两个表是由product_id关联的,order_id用于在sold_products中将订单分组。
我们将假设您正在查看的产品的product_id为1234。
从sold_products选择DISTINCT sold_products,其中product_id=1234限制为25
从
分隔。
例如PO1234,PO435,PO3456。
排序
选择不同的产品。*从sold_products中选择sold_products.order_id IN (PO1234,PO435,PO3456.)而不是按sold_products.product_id=1234 (1) DESC按sold_products.product_id顺序分组
发布于 2011-03-29 07:33:49
您需要参考奥赖利的“编程集体智能”(编程集体智能)一书中的第2章。想出配套的产品,比如,“顾客买了这件东西也买了.”分段,你需要
在上述步骤中涉及到一些算法。在这本书中给出了更多的细节,以及关于这些算法的python代码。
https://stackoverflow.com/questions/5467637
复制相似问题