代码采用基于用户的协同过滤算法,也就是根据用户喜好来确定与当前用户最相似的用户,然后再根据最相似用户的喜好为当前用户进行推荐。
代码采用字典来存放数据,格式为{用户1:{电影名称1:打分1, 电影名称2:打分2,...}, 用户2:{...}}。
本文关键代码是调用Python内置函数min()和max()的两行。为防止看错行,直接贴上代码截图:
运行结果与分析1,其中输出结果第一部分的格式为与当前用户共同打分过的电影数量:与当前用户打分的欧几里得距离:该用户打分情况。
在这一组数据中,与当前用户共同打分过的电影数量最多的是user3,所以根据user3的打分结果对当前用户进行推荐。
运行结果与分析2:
在这一组数据中,与当前用户共同打分过的电影数量一样多的有user4、user5和user6,但是与当前用户最接近的是user5,所以根据user5的打分结果对当前用户进行推荐。
----------相关阅读----------
使用Python内置集合对象和内置函数filter()过滤无效书评
Python数据分析扩展库pandas的DataFrame排序方法小结
Python+pandas读取Excel文件并统计演员参演电影数量
Python使用wordcloud+pillow基于给定图像制作词云
----------喜大普奔----------
1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年7月第3次印刷)系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版,并于2017年9月进行了第2次印刷。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:
https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3
2、董付国老师新作《中学生可以这样学Python》已正式出版,很快就会在各大书城全面上架。