Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > PHP > » 正文

使用欧几里德距离构建简单的推荐系统计算用户相似度

来源: 未知 分享至:

在计算用户相似度的过程中,首先对于两个用户共同打分过的所有条目,计算他们对于每个条目的评分差值,对差值求平方、求和,再对结果求平方根,这样得到的值称为欧氏距离,但这并不足以作为显示度计算的度量值。相似度与距离的概念在某种程度上说是互反的,就其意义而言,欧氏距离越小,两个用户相似度就越大。相似度与距离这种反序关系很容易就可以调整过来,比如只要第一显示度为欧氏距离加1,再取倒数。

02data.php


getSimilarity.php

上面的代码先求出两个用户有一些共同评分的歌曲,那么把他们对其中每首歌曲评分差值的平方和除以这部分歌曲的数量,再对商取平方根,最后用1减去这个双切正切函数的返回值,最后还考虑的两个用户共有的条目的量与两个人所有可能共有条目量的比率。


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史