一些电子商务平台具有建议功能,一旦您在购物篮中有一件商品,他们就会告诉您“您可能也喜欢这个产品”。一些,如亚马逊,依赖预先存在的客户行为数据,他们的功能被称为“购买此商品的客户也购买了”,但有些人似乎通过其他方式提出建议。
这些“其他手段”是什么?他们在网上商店中使用什么样的算法来实现此功能?
一些电子商务平台具有建议功能,一旦您在购物篮中有一件商品,他们就会告诉您“您可能也喜欢这个产品”。一些,如亚马逊,依赖预先存在的客户行为数据,他们的功能被称为“购买此商品的客户也购买了”,但有些人似乎通过其他方式提出建议。
这些“其他手段”是什么?他们在网上商店中使用什么样的算法来实现此功能?
他们使用数据挖掘,而您询问的这种特定算法称为“最近邻”算法。
这是我写的关于算法的文章的链接(以及许多其他文章)。
http://www.ibm.com/developerworks/opensource/library/os-weka3/index.html
该过程称为Business Intelligence
,数据将存储在数据仓库中,并且可以使用诸如SSAS
. 该过程将涉及将大量数据(谁购买了什么以及何时购买)分组到data cubes
. 对这些立方体进行分析,并用于将您的购买与购买相同产品的其他人进行比较,然后推荐他们的购买(购买此商品的其他客户,也购买了此商品....商品 X)。其他各种人工智能算法用于比较其他客户趋势的模式,例如他们如何购物、他们在哪里点击等。所有这些数据都被积累起来,然后添加到数据立方体中进行分析。
数据挖掘算法概述如下,您可以查找Decision Tree Modelling algorithm
BI 如何确定趋势和模式(在本例中为建议):
关于这种算法的最好的书是:Programming Collective Intelligence
电子商务页面上的大多数建议都是使用某种推荐系统(http://en.wikipedia.org/wiki/Recommender_system)创建的。像 Mahout ( http://mahout.apache.org/ ) 这样的工具已经实现了最常用的方法。
正如一些较早的人所回答的那样,这称为推荐引擎。它也被称为协同过滤技术。很少有工具可以做到这一点,Mahout 就是其中之一。请参阅我写的博客,其中讨论了我们使用Mahout 和 Hadoop 构建推荐引擎的用例。作为这方面的先驱,我还编写了一个组件架构,说明每个组件如何组合在一起解决数据挖掘问题。
Mahout 可以在独立模式下工作,也可以与 Hadoop 一起工作。使用其中任何一个的决定实际上归结为需要挖掘的历史数据的大小。如果数据大小为 TB 和 PB 量级,则通常将 Mahout 与 Hadoop 结合使用。Weka 是另一个类似的开源项目。所有这些都属于称为机器学习框架的类别。我希望它有所帮助。