繁体   English   中英

如何建立一个简单的推荐系统?

[英]How to build a simple recommendation system?

如何建立一个简单的推荐系统? 我已经看到了一些算法,但它实现起来很困难我希望它们是实用的描述来实现最简单的算法?

我有这三张桌子

        Users
  userid      username
   1            aaa
   2            bbb

        products
  productid        productname
     1                laptop
     2                mobile phone
     3                car

      users_products
  userid        productid
    1                1
    1                3
    3                2
    2                3

所以我希望能够为每个用户推荐商品,具体取决于他们购买的商品和其他用户的商品

我知道它应该像计算用户之间的相似之处,然后看看他们的产品,但是如何完成并存储在数据库中,因为这将需要一个像这样的表

      1    2   3   4   5   6 << users' ids
 1)   1   .4  .2  .3  .8  .4
 2)  .3    1  .5  .7  .3  .9
 3)  .4   .4   1  .8  .2  .3
 4)  .6   .6  .6   1  .4  .2
 5)  .8   .7  .4  .2   1  .3
 6)   1   .4  .6  .7  .9   1
 ^
 ^
users'
 ids

那么如何计算用户之间的相似性? 这个复杂的数据如何存储在广告数据库中? (它需要一个包含每个用户列的表)? 谢谢

您希望如何实际存储建议是一个完全与实际实现推荐引擎无关的问题。 我把它留给你的数据库架构。 关于推荐。

你说“简单”,所以Pearson相关系数可能是你需要阅读的东西。

计算这样的事情很简单。 概念示例代码

也许阅读“编程集体智慧”将帮助你。

该表可以存储在三列中

user_left user_top correlation

(虽然我没有确定相关性的经验)

您肯定不需要为每个用户提供一列。 您需要一个相关矩阵,这是真的,但实际的数据库表是不必要的。 相反,你可以把它作为

table: user_correlation_matrix
columns: user1_id user2_id correlation_factor

我在Joe Celko的一本书中看到了这一点。 我相信这就是这里 我目前无法访问我的。 尝试前往Barnes&Noble或Borders附近并查看它。 一旦我有权访问并跟进,我就会挖掘我的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM