用于此类“嵌套”建议的模型或方法是什么?

时间:2013-06-28 17:55:59

标签: machine-learning mahout collaborative-filtering mahout-recommender

我有一个非常具体的推荐问题。

假设我有3种类型的值/实体 - 项目,属性,值。有N个项目,A属性和B值。每个项目都有一些属性 - 值对。例如:

项目#1
2374-23783
8455-5783
744-2438

项目#2
5435-23783
8455-54654
544-9778

...

现在,给定一个“匿名”项目,比如项目#x,上面有3-4个样本属性值对,我想获得特定属性的建议。例如:

物品#X
5435-23783
544-9778
744-2438

8455- ?? (得到推荐)

现在,直觉 - 项目#x中属性8455的推荐值可能是54654.您将看到属性5435和744在项目#2中具有与项目#x中相同的值。因此,8455的值更可能与8455在第2项中的值相似。

问题:

  1. 您认为哪种模式最适合此问题?我应该使用什么方法?协同过滤 - 但如何?简单地说,简单地将所有属性 - 值对转储到数据集中并提取建议都不能满足我的需求。

  2. 您是否也可以添加任何特定于实现的详细信息?亨利马乌? Myrrix?机器学习/推荐库?

2 个答案:

答案 0 :(得分:0)

任何机器学习方法都能胜任。例如,您可以使用贝叶斯网络,因为这些条件项属性值出现很自然。

在不知道您关注的问题的情况下添加特定于实现的详细信息是不现实的。你最关心什么?性能,准确性或可扩展性?

答案 1 :(得分:0)

您似乎不需要任何机器学习,只需要检索。最直接的方法是创建一个特征向量,其中每个维度都是一个属性。

矢量位置和属性:

Position #0, property 2374
Position #1, property 8455
Position #2, property 744
Position #3, property 5435
Position #4, property 544

为每个项目填写矢量值。

Item #1 is represented as [23783,  5783, 2438,     ?,    ?]
Item #2 is represented as [    ?, 54654,    ?, 23783, 9778]
Item #x is represented as [    ?,     ?, 2438, 23783, 9778] 

项目#x与项目#2具有最常见的值,其位置#1是54654.基本上,您找到了具有您感兴趣的位置值的项目的最佳交集。如果您想要值,则会更有趣几个只能由几个项目建议的属性,但你还没有谈到数据的性质。