Neo4j 做推荐 (8)—— 协同过滤(利用电影评级)

协同过滤:

使用网络中其他用户的首选项,评级和操作来查找要推荐的项目。

(买这个东西的用户,还买了那个东西)

用户Misty Williams的所有评分

// Show all ratings by Misty Williams

MATCH (u:User {name: "Misty Williams"})

MATCH (u)-[r:RATED]->(m:Movie)

RETURN *;

查找Misty的平均评分:

// Show all ratings by Misty Williams

MATCH (u:User {name: "Misty Williams"})

MATCH (u)-[r:RATED]->(m:Movie)

RETURN avg(r.rating) AS average;

哪些是Misty 评分超过平均分的电影:

// What are the movies that Misty liked more than average?

MATCH (u:User {name: "Misty Williams"})

MATCH (u)-[r:RATED]->(m:Movie)

WITH u, avg(r.rating) AS average

MATCH (u)-[r:RATED]->(m:Movie)

WHERE r.rating > average

RETURN m;

由此,通过计算Misty 评过分的电影,而且找出受到他好评的电影,推荐给其他用户,就是协同过滤最基本的做法。

Neo4j 做推荐 (1)—— 基础数据

Neo4j 做推荐 (2)—— 基于内容的过滤

Neo4j 做推荐 (3)—— 协同过滤

Neo4j 做推荐 (4)—— 基于内容的过滤(续)

Neo4j 做推荐 (5)—— 基于类型的个性化建议

Neo4j 做推荐 (6)—— 加权内容算法

Neo4j 做推荐 (7)—— 基于内容的相似度量标准

Neo4j 做推荐 (8)—— 协同过滤(利用电影评级)

Neo4j 做推荐 (9)—— 协同过滤(人群的智慧)

Neo4j 做推荐 (10)—— 协同过滤(皮尔逊相似性)

Neo4j 做推荐 (11)—— 协同过滤(余弦相似度)

Neo4j 做推荐 (12)—— 协同过滤(基于邻域的推荐)

你可能感兴趣的:(Neo4j 做推荐 (8)—— 协同过滤(利用电影评级))