介绍
比如用户E看了4个影片,分别是‘无双’,‘逃学威龙1’,‘逃学威龙2’,‘他人笑我太疯癫’ 都打了不同的分。用户A看了‘唐伯虎点秋香’,'逃学威龙1',‘追龙’,‘他人笑我太疯癫’ 也打了不同的分。现求他们两人的相似度。利用皮尔逊相似度算法的优点是 只要他们的打分不是0并且观影相同的影片2个以上都会有相似的地方。用户相似可以相互推荐不同的影片。根据相似度排序获取高度相似的用户。
代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2019/1/16 17:14
# @Author : fuch
# @File : recommend.py
from math import sqrt
# 比如有5个用户分别给自己看的电影打分
users = {
'用户A': {'唐伯虎点秋香': 5, '逃学威龙1': 1, '追龙': 2, '他人笑我太疯癫': 0},
'用户B': {'唐伯虎点秋香': 4, '喜欢你': 2, '暗战': 3.5},
'用户C': {'复仇者联盟1': 4.5, '逃学威龙1': 2, '大黄蜂': 2.5, '蜘蛛侠:平行宇宙': 2, '巴霍巴利王:开端': 4},
'用户D': {'狗十三': 2, '无双': 5},
'用户E'