我正在开发网上商店,我将在那里销售食品。我想有一个建议箱,在那里我会建议我的用户还可以根据他已经在购物车中购买的东西。如果他有啤酒,我希望他建议薯条和其他东西,通过降低他也会买的概率。但我希望我的算法能够学习根据所有用户以前的购买情况来推荐食品杂货。我应该从哪里开始呢?我有杂货桌user_id,item_id,date和类似的。我怎样才能在不使用暴力的情况下创建一个建议框呢?
发布于 2012-08-30 06:56:50
您所描述的是一个推荐引擎;更具体地说,是协作过滤。它是亚马逊“购买了x的人也购买了y”功能的核心,也是Netflix的推荐引擎。
这不是一件微不足道的事情。也就是说,要获得任何有用的东西,可能很容易就比一开始就建立一个电子商务网站更重要。
例如:
当我尝试类似的项目时,很难向非技术人员解释,计算机根本不理解在推荐尿布的同时推荐啤酒是不合适的。一旦我们得到了基本的解决方案,构建排除和边缘情况逻辑至少需要同样长的时间。
实事求是地说,我认为你有以下选择:
的类别
所有这些选项都可以在合理的时间内实现;从头开始构建一个合适的解决方案的问题是,每个人都会与Amazon进行比较,并且他们已经比你领先了一点……
发布于 2012-08-30 18:10:40
这是数据挖掘中Apriori算法解决的一个普遍问题。您可能需要创建另一个表来维护此统计信息,然后根据首选组合提出建议
发布于 2012-09-03 07:01:51
嗯..。你正在寻找一个产品推荐引擎,然后...嗯,它们基本上有三种风格:
第一个收集并存储用户的活动、偏好、行为等数据。然后,这些数据被发送到引擎,该引擎将这些数据分成用户通道。每个频道都有一定的特点好恶。因此,当你有一个新的访问者时,他或她将被分类,并被分配一个特定的用户配置文件。然后,将根据此配置文件的喜好/不喜欢来显示项目。
现在,基于内容的过滤使用了一种不同的方法-一种不太社交化的方法-只考虑用户以前的浏览历史,他的偏好和活动。从本质上讲,这将根据该用户以前喜欢/购买的内容创建推荐。
但是为什么只选择其中的一个,对吗?混合推荐系统使用两者的一部分来提供个性化的社交推荐。当涉及到提供建议时,这些通常更准确。
但我认为,当你有大量用户涌入时,协同过滤是一个很好的选择--在只有42个用户/月访问你的网站的情况下,很难建立好的渠道。第二个选择,基于内容,对于一个有大量产品的小网站来说更好--然而,IMHO,第三个是给你的--构建一些东西,让用户从一开始就收集他们生成的所有数据,以便在未来能够提供类似亚马逊的推荐体验!
我相信你已经知道,构建其中一个并不是一件容易的事情。但我强烈推荐这本书(使用个人历史过滤!)这是我过去真正经历过的:http://www.amazon.com/Algorithms-Intelligent-Web-Haralambos-Marmanis/dp/1933988665
祝你好运,学习愉快!
https://stackoverflow.com/questions/12150308
复制相似问题