我可以使用Apache Mahout Taste进行用户首选项匹配吗?

时间:2012-11-21 17:31:12

标签: preferences mahout recommendation-engine mahout-recommender

我正在尝试根据预定义的用户首选项匹配对象。一个简单的例子就是找到最佳匹配的车辆。

假设用户'Tom'根据其预定义的偏好提供租用的旅行车辆。在这种情况下,预定义的用户首选项将是 -

** Tom的预定义用户首选项:

PreferredVehicle (Make='ANY', Type='3-wheeler/4-wheeler',
Category='Sedan/Hatchback', AC/Non-AC='AC')

**而10辆可用的车辆是 -

Vechile1(Make='Toyota', Type='4-wheeler', Category='Hatchback', AC/Non-AC='AC')
Vechile2(Make='Tata', Type='3-wheeler', Category='Transport', AC/Non-AC='Non-AC')
Vechile3(Make='Honda', Type='4-wheeler', Category='Sedan', AC/Non-AC='AC')
;
;
and so on upto 'Vehicle10'

我想做的就是 - 为汤姆选择最符合他喜好的车辆,也可以按顺序给他选择,即最先匹配。

我的问题:

  1. 可以用Mahout Taste完成吗?
  2. 如果是,有人可以请我指出一些示例代码,我可以快速启动吗?

1 个答案:

答案 0 :(得分:4)

由于一些原因,推荐人可能不是这里工作的最佳工具。首先,我不认为最好的答案都是这个领域的个人。如果我想要福特福克斯,对于大多数用户来说,你拥有的最佳替代品可能大致相同。其次,这里没有太大的发现问题。我正在寻找满足某些需求的车辆;我并不特别想要或者需要找到新的和未知的车辆,就像我对音乐一样。最后,每个用户没有太多数据;我假设大多数用户以前从未租用过,很少有人甚至租用过3次。

你能把这些数据扔到推荐人那里吗?当然,试试Mahout Taste(我是作者)。如果您有Mahout in Action这本书,它将引导您完成它。由于它是非评级数据,我还可以推荐后续项目Myrrix(http://myrrix.com),因为它更容易设置和运行。您至少可以评估结果,看看它是否有用。

无论哪种方式,您的工作只是从您的数据中生成“userID,vehicleID”对的CSV文件并将其输入。然后它会为您提供车辆ID作为任何用户ID的推荐。

但是,我想你会更好地分析人们在没有车时所选择的东西,看看差异,并了解他们最有可能被牺牲的属性,并学会得分替代方式。这是完全可行的,因为这个数据集很小,并且因为你有丰富的项目属性数据。

相关问题