我有一个关于“Graphlab”库的项目-项目协同过滤如何工作的基本理解的问题。我运行这段代码:
f = graphlab.SFrame({'user_id': ['0', '0', '0', '1', '1', '2', '2'],
'item_id': ['a', 'b', 'c', 'a', 'b', 'b', 'c'],
'rating': [ 1, 3, 2, 5, 4, 1, 4]})
m = graphlab.item_similarity_recommender.create(f, target="rating", similarity_type='cosine')
print m.get_similar_items(verbose=True)
print m.recommend()
输出是:
根据模型,(1,c) 的推荐值为 1.096,但根据我的计算,它是 4.16!我的计算:
(1,c) = (sim(c,a)*5 + sim(c,b)*4)/(sim(c,a) + sim(c,b))
= (0.0877*5 + 0.4385*4)/(0.0877+0.4385)
= 4.16
请帮忙,我错过了什么?

