(这不是作业,也不是作业。这只是我的个人兴趣/职业,完全是虚构的。但我对一个好的算法或数据结构感兴趣。)
假设我会经营一个交友网站。而我的特写将是和电影品味相匹配的单曲。(为什么不呢?)
在这种情况下,我需要一种方法来存储每个用户的电影收视率。(到目前为止没有问题。)我需要一个数据结构来找到最合适的用户。两种口味模式之间的距离将是两个用户之间所有评分之间的平均距离。
示例
movies A B C D E F G H I J K L M ...
user Xm 9 5 1 1 5
user Ym 4 6 1 8
user Zf 9 6 4 7
距离(X,Z) = avg( abs(9-9) + abs(1-4) )= 1.5
距离(Y,Z) = avg( abs(4-6) + abs(6-4) + abs(8-7) )= 1.666
所以X先生比Y先生更适合Z太太。
我喜欢那个.
请记住,这也应该适用于数千部可能的电影,只有20-50部电影的用户,以及成千上万的用户。
(因为这是一个精神上的难题,而不是一个真正的问题,所以工作不是真正的帮助。)
您的搜索算法或数据结构是什么?
发布于 2009-01-20 20:18:51
听起来很像Netflix奖的挑战,更具体地说,是最流行的方法的前半部分。您想要做的事情的可能实现是多种多样的。它们中没有一个是特别有效的,而且L1度量对于可靠的相关性来说不是一个特别好的选择。
发布于 2009-01-20 19:04:02
看起来你在电影空间里寻找最近邻。你的距离函数是L1度量。您可能可以使用某种类型的空间指数。也许您可以使用来自协同过滤的技术。
https://stackoverflow.com/questions/462563
复制相似问题