一.商品推荐系统

1.当客户张三与客户李四的购物车内容相似,我们可以得出李四喜欢的内容张三也喜欢。
2.这应用到了集合(set)这一元素的交集,并集,差集功能。

二.基础知识及代码

1.集合是一种类似字典和列表的数据类型。集合与字典都是无序类型;集合与列表,字典的差别在于其不能嵌套可变数据类型(列表,字典);集合自身特有的便是唯一性,用作其后续去重。
2.代码

#利用集合进行代码去重
l = [1,2,2,3,3,4]
print(list(set(l))

三.案例代码

#这里给出了三个客户peiqi,alex,yuan的购物车内容
peiQi_hobby = {"螺狮粉", "臭豆腐", "榴莲", "apple"}

alex_hobby = {"螺狮粉", "臭豆腐", "榴莲", "💩", 'pizza'}

yuan_hobby = {"pizza", "salad", "ice cream", "臭豆腐", "榴莲", }

hobbies = [peiQi_hobby, yuan_hobby, alex_hobby]
#首先把三个人的hobby相交,如果相交的值占比大于50%,则说明这三个人爱好相同。【这个数值取决于实际业务,此处是虚拟的】

# 给peiQi推荐商品:

# 版本1:
hobbies.remove(peiQi_hobby)
peiQi_set = set()
for hobby in hobbies:
    if len(peiQi_hobby.intersection(hobby)) / len(peiQi_hobby) >= 0.5:
        # print(list(hobby - peiQi_hobby))
        peiQi_set.update(hobby - peiQi_hobby)

print(list(peiQi_list))