一.商品推荐系统
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))
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。