协作型过滤(1):用户偏好数据存储
1.用户偏好数据存储
用嵌套的字典表达不同人及其偏好,可以很方便地对其进行查询、修改。当数据相当大时,则选择奖数据存入数据库中。
#影评者及其对几部电影的评价 critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5, 'Just 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, 'Snakes on a Plane': 3.5, 'Just My Luck': 1.5, 'Superman Returns': 5.0,'The Night Listener': 3.0, 'You, Me and Dupree': 3.5}, 'Michael Phillips': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.0, 'Superman Returns': 3.5, 'The Night Listener': 4.0}, 'Claudia Puig': {'Snakes on a Plane': 3.5,'Just My Luck': 3.0, 'The Night Listener': 4.5,'Superman Returns': 4.0, 'You, Me and Dupree': 2.5}, 'Mick LaSalle': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0, 'Just My Luck': 2.0, 'Superman Returns': 3.0, 'The Night Listener': 3.0, 'You, Me and Dupree': 2.0}, 'Jack Matthews': {'Lady in the Water': 3.0, 'Snakes on a Plane': 4.0, 'The Night Listener': 3.0,'Superman Returns': 5.0, 'You, Me and Dupree': 3.5}, 'Toby': {'Snakes on a Plane': 4.5,'You, Me and Dupree': 1.0,'Superman Returns': 4.0}}
查询或修改操作,上述文件应保存在启动Python时的当前文件,或者保存在python/lib目录下:
from recommendations import critics print critics['Lisa Rose'][‘Lady in the Water’] critics['Lisa Rose'][‘Lady in the Water’]=4.5 print critics['Lisa Rose'][‘Lady in the Water’] print critics['Lisa Rose']