0

我正在尝试根据预定义的用户偏好匹配对象。一个简单的例子是寻找最匹配的车辆。

假设用户“汤姆”根据他的预定义偏好提供了一辆出租车辆用于旅行。在这种情况下,预定义的用户首选项将是 -

** 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. 如果是的话,有人可以指点我一些可以快速开始的示例代码吗?
4

1 回答 1

4

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

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

无论哪种方式,您的工作只是从您的数据中创建一个包含“userID,vehicleID”对的 CSV 文件并将其输入。然后它将为您提供车辆 ID 作为任何用户 ID 的建议。

但是,我想你会更好地分析人们在汽车不可用时选择了什么,看看差异,了解他们最有可能和最不可能牺牲的属性,并学习以这种方式为替代方案评分. 这是完全可行的,因为这个数据集很小,而且你有丰富的项目属性数据。

于 2012-11-21T19:26:44.597 回答