推荐系统初探之一 —— 寻找相似的用户
不知当你登陆亚马逊、淘宝等购物网站时,是否留意过那神奇推荐栏:当你买过一部手机,那里会出现你需要的手机配件;但你买过一本书,它会给你推荐一大堆类似的书籍;而有时候它甚至会向你推荐你可能喜欢的影片,即使你可能只在这买过食品……
其实,大多数购物网站都会有一个推荐系统,通过分析你的兴趣偏好,找到与你有相同品味的人,以此来把你可能喜欢的商品推荐给你。
想知道这些推荐系统背后的秘密吗?现在开始,让我们使用python语言,揭开这些推荐系统背后的秘密。
一、数据的引入
首先,我们建一个名为recommendations.py的python文件,用一段代码建立一组简单的数据,内容为几位影评者对不同电影的评价
# -*- coding: cp936 -*-
#一个涉及影评者机器对几部电影评分情况的字典
critics = {'Lisa Rose':{'Lady in the Water':2.5, 'Snacks on a Plane': 3.5,
'Lust My Luck': 3.0, 'Superman Returns': 3.5,
'You, Me and Dupree': 2.5, 'The Night Listener': 3.0},
'Gene Seymour':{'Lady in the Water':3.0, 'Snacks on a Plane': 3.5,
'Lust My Luck': 1.5, 'Superman Returns': 5.0,
'You, Me and Dupree': 3.5, 'The Night Listener': 3.0},
'Michael Phillips':{'Lady in the Water':2.5, 'Snacks on a Plane': 3.0,
'Superman Returns': 3.5, 'The Night Listener': 4.0},
'Claudia Puig':{'Snacks on a Plane': 3.5, 'Lust My Luck': 3.0,
'Superman Returns': 4.0, 'You, Me and Dupree': 2.5,
'The Night Listener': 4.5},
'Mick LaSalle':{'Lady in the Water':3.0, 'Snacks on a Plane': 4.0,
'Lust My Luck': 2.0, 'Superman Returns': 3.0,
'You, Me and Dupree': 2.0, 'The Night Listener': 3.0},
'Jack Matthews':{'Lady in the Water':3.0, 'Snacks on a Plane': 4.0,
'Superman Returns': 5.0,