二进制推荐算法

时间:2015-09-17 06:27:42

标签: binary-data recommendation-engine

我目前正在为一项学校作业做一些研究。我有两个数据流,一个是用户评级,另一个是网店的搜索,点击和订单历史(二进制数据)。

如果您使用评级数据,我发现协同过滤是最好的算法系列。我发现并研究了这些算法:

记忆基

  1. 基于用户的

    • 皮尔逊相关
    • 约束皮尔逊
    • 矢量相似度(cosinus)
    • 均方差
    • 加权皮尔逊
    • 相关阈值
    • 最大邻居数
    • 按相关性加权
    • Z-score normalization
  2. 基于项的

    • 调整后的余弦
    • 最大邻居数
  3. 相似性融合

  4. 基于模型

    1. 基于回归
    2. 斜坡一
    3. LSI / SVD
    4. 正规化的svd(rsvd / rsvd2 / nsvd2 / svd ++)
    5. 基于邻居的集成
    6. 基于群集的平滑
    7. 现在我正在寻找一种使用二进制数据的方法,但是我很难搞清楚是否可以使用二进制数据而不是使用这些算法对数据进行评级,或者是否存在不同的算法系列我应该看看?

      我提前为拼写错误道歉,因为我患有阅读障碍症并且不是本地作家。感谢marc_s的帮助。

1 个答案:

答案 0 :(得分:2)

看看数据挖掘算法,例如关联规则挖掘(又名市场购物篮分析)。您在推荐系统中遇到了一个棘手的问题:一元数据和二进制数据很常见,但个性化的最佳算法并不适用于它们。评级数据可以表示单个用户 - 项目对的偏好;例如,我将这部电影评为5星中的5星。但是对于二进制数据,我们拥有最不精细的评级数据类型:我喜欢或不喜欢某些东西,或者已经或者没有消费它。注意不要混淆二进制数据和一元数据:一元数据意味着您拥有用户消费的信息(编码为1,非常类似于二进制数据),但您没有关于用户是否不喜欢或消费的信息某事(编码为NULL而不是二进制数据的0)。例如,您可能知道一个人查看了10个网页,但是如果她知道其他网页可用,您就不知道她会想到什么。这是一元数据。您不能假设任何来自NULL的偏好信息。