电影推荐"/>
python实现电影推荐
电影推荐程序
假设已有若干用户名字及其喜欢的电影清单,现有某用户,已看
过并喜欢一些电影,现在想找个新电影看看,又不知道看什么好。
思路:根据已有数据,查找与该用户爱好最相似的用户,也就是
看过并喜欢的电影与该用户最接近,然后从那个用户喜欢的电影
中选取一个当前用户还没看过的电影,进行推荐。--基于用户的
协同过滤算法
#我们首先需要造一点数据,模拟用户看的电影。
from random import randrange
data={‘user’+str(i):{‘film’+str(randrange(1,10)) for j in
range(randrange(15))} for i in range(10)}
#此处用到了列表推导式,关于列表推导式见下页
#randrange(n,m)随机输出n到m之间的整数,这里用了两次。一次代表这个人看的电影个数是随机的,第二个是看的电影是随机的
user = {'film1', 'film2', 'film3'}
similarUser,films=max(data.items(),key=lambda
item:(item[1]!=user,len(item[1]&user)))
#用len求出和user的相似度的列表,然后用max求最大相似的列表
print('历史数据:')
for u, f in data.items():
print(u, f, sep=':')
print('和您最相似的用户是:', similarUser)
print('Ta最喜欢看的电影是:', films)
print('Ta看过的电影中您还没看过的有:', films-user)
购物习惯推荐程序实现
#我们首先需要造一点数据,模拟顾客的商品清单。
from random import randrange#随机产生购买的商品清单
data={'user'+str(i):{'product'+str(randrange(1,7)) for j in range(randrange(1,4))}for i in range(10)}#待测用户曾经购买过的商品
#此处用到了列表推导式
#randrange(n,m)随机输出n到m之间的整数,这里用了两次。一次代表这个人买的东西的个数是随机的,第二个是买的商品是随机的
user={'product1','product5','product3'}#查找与带测用户最相似的用户和最喜欢购买的商品
similarUser,products=max(data.items(),key=lambda item:len(item[1]&user))
print("和你相似的用户是:",similarUser)
print("推荐商品如下:",products)
更多推荐
python实现电影推荐
发布评论