用sql实现个性化推荐
推荐给每个用户和user_id,和他相似的用户所购买过的product
1.排除自己购买过的
2.相似用户的自定义:曾经购买过的2种或者2种以上的相同的商品
输入表:orders
准备数据
create table orders( user_id varchar(100), product_id varchar(100) ); INSERT INTO orders(user_id,product_id) values('123','1'); INSERT INTO orders(user_id,product_id) values('123','2'); INSERT INTO orders(user_id,product_id) values('123','3'); INSERT INTO orders(user_id,product_id) values('456','1'); INSERT INTO orders(user_id,product_id) values('456','2'); INSERT INTO orders(user_id,product_id) values('456','4');
这道题跟推荐系统,伪协同过滤相关的
用户123和用户456都购买过产品1,2 那他们就是相似用户(曾经购买过的2种或者2种以上的相同的商品)
用户123被推荐的就是产品4 456被推荐的就是产品3
类似的
给我兄弟推荐我吃过而他没吃过的美食
原始数据
客户 | 餐厅 |
a | 1 |
a | 2 |
a | 3 |
b | 1 |
b | 2 |
b | 4 |
c | 1 |
c | 5 |
d | 6 |
a | 1 |
c | 5 |