我目前正在为学校的作业做一些研究。我有两个数据流,一个是用户评级,另一个是搜索,点击和订单历史(二进制数据)的网店。
我发现,如果你使用评级数据,协同过滤是最好的算法家族。我找到并研究了这些算法:
基于内存的
- 基于用户
- <
- 皮尔逊相关性/gh>
- 约束皮尔森
- 矢量相似度(鼻窦)
- 均方差
- 加权皮尔森
- 相关阈值
- 最大邻居数
- 相关性加权
- z分数归一化
-
基于项目
- 调整余弦
- 最大邻居数
-
相似度融合
模型
- 基于
- 回归 斜率为1
- lsi/圣言
- 正则svd (rsvd/rsvd2/nsvd2/svd++)
- 基于集成邻居的
- 基于簇的平滑
现在我正在寻找一种使用二进制数据的方法,但我很难弄清楚是否有可能使用二进制数据而不是这些算法的评级数据,或者是否有一个不同的算法家族我应该看?
我为拼写错误提前道歉,因为我有阅读障碍,不是一个母语作家。感谢marc_s的帮助。
看一下数据挖掘算法,如关联规则挖掘(又名市场购物篮分析)。在推荐系统中,您遇到了一个棘手的问题:一元和二进制数据很常见,但是用于个性化的最佳算法并不能很好地处理它们。评级数据可以表示对单个用户-物品对的偏好;我给这部电影打4星(满分5星)。但是对于二进制数据,我们有最小粒度类型的评级数据:我喜欢或不喜欢某样东西,或者有或没有吃过它。小心不要混淆二进制和一元数据:一元数据意味着您拥有信息,用户消费(编码为1,就像二进制数据),但是你没有信息用户是否不喜欢或使用一些(这是编码为零而不是二进制数据的0)。例如,你可能知道一个人十个网页看,但你不知道她会想到其他页面都知道他们是可用的。这是一元数据。