代码采用基于用户的协同过滤算法,也就是根据用户喜好来确定与当前用户最相似的用户,然后再根据最相似用户的喜好为当前用户进行推荐。
代码采用字典来存放数据,格式为{用户1:{电影名称1:打分1, 电影名称2:打分2,...}, 用户2:{...}}。
本文关键代码是调用Python内置函数min()和max()的两行。为防止看错行,直接贴上代码截图:
运行结果与分析1,其中输出结果第一部分的格式为与当前用户共同打分过的电影数量:与当前用户打分的欧几里得距离:该用户打分情况。
在这一组数据中,与当前用户共同打分过的电影数量最多的是user3,所以根据user3的打分结果对当前用户进行推荐。
运行结果与分析2:
在这一组数据中,与当前用户共同打分过的电影数量一样多的有user4、user5和user6,但是与当前用户最接近的是user5,所以根据user5的打分结果对当前用户进行推荐。
----------相关阅读----------
使用Python内置集合对象和内置函数filter()过滤无效书评
Python数据分析扩展库pandas的DataFrame排序方法小结
Pandas创建DataFrame对象的几种常用方法
Python基于用户协同过滤算法的电影推荐代码demo
Python+pandas读取Excel文件并统计演员参演电影数量
Python统计共同参演电影最多的演员组合
Python读取Excel文件统计演员参演电影
Python使用wordcloud+pillow基于给定图像制作词云
祝所有程序员1024节日快乐
学会提问,你就成功了一大半!
盘点那些让人上火的提问方式(论如何让交流更高效)