栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

书店应用推荐系统

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

书店应用推荐系统

作为特定的具体示例,一种选择是“最近的K邻居”算法。

为简化起见,假设您只有十本书,而您只是在跟踪每个用户查看每本书的次数。然后,对于每个用户,您可能会有一个数组

inttimesViewed[10]
,其中的值
timesViewed[i]
是用户查看书号的次数
i

然后,您可以使用相关函数将用户与所有其他用户进行比较,例如Pearson相关。计算当前用户

c
与另一个用户之间的相关性,
o
得出的值介于-1.0和1.0之间,其中-1.0表示“该用户
c
与另一个用户完全相反
o
”,而1.0表示“该用户
c
与另一个用户相同
o


如果计算

c
每个用户与另一个用户之间的corellation
,则会得到一个结果列表,该结果显示用户的观看模式与每个其他用户的观看模式有多相似。然后,您选择
K
(例如5、10、20)个最相似的结果(因此命名为算法),即
K
相关得分最接近1.0的用户。

现在,您可以对每个用户

timesViewed
数组进行加权平均。例如,我们要说的
averageTimesViewed[0]
timesViewed[0]
这K个用户中每个K用户的平均值,并按其相关分数加权。然后彼此做同样的事情
averageTimesViewed[i]

现在,您有了一个数组

averageTimesViewed
,大致来说,它包含查看方式与最相似的K位用户
c
查看每本书的平均次数。推荐
averageTimesViewed
分数最高的书,因为这是其他用户最感兴趣的书。

通常也值得将用户已经阅读过的书籍排除在推荐范围之外,但是在计算相似度/相关性时仍要考虑这些因素仍然很重要。

还要注意,可以将其扩展以考虑其他数据(例如购物车列表等)。另外,您 可以根据需要
选择所有用户(即

K
=用户数量),但这并不总是会产生有意义的结果,通常选择一个合理的较小
K
值即可获得良好的结果,并且计算速度更快。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号