基于关联规则的推荐算法
关联规则挖掘是数据挖掘领域的一个重要的研究内容,可以在大量数据集屮发现项集之问的互相关联的特性。在电子商务领域中,关联规则挖掘被成功的应用到购物篮数据集,用来发现的主要对象是关系型事务数据库,通过使用该挖掘算法分析哪些商品被顾客同时购买,以便在销售过程屮为顾客提供特定的广告,刺激其购买行为。基于关联规则的推荐是一种基于数据挖掘技术的推荐算法,根据所生成的关联规则模型和用户的浏览记录预测其感兴趣的项目,属于基于模型的推荐系统。通常由于系统的推荐项目的数量庞大,关联规则模型的建立需要离线进行,可以保证在线推荐的实时性要求。
基于关联规则的推荐算法,上要是通过关联规则找到Top-N推荐的项目,它的大致步骤如下:
- 报据交易数中每个用户的历史交易数据来进行事务的创建
- 使用关联规则挖掘算法对事务数据集进行关联规则挖掘,得到满足最小支持度(支持度(Support):定义为
P(AB)
。如果说挖掘出对A推荐B的支持度为3%,那么意味着在3%的情况下既有A又有B,例如3%的顾客同时购买啤酒和尿布)和最小置信度(置信度(Confidence/Strength): 定义为P(AB)/P(A)
。如果说置信度为3%,那么意味着A成立的3%的情况下有A也有B。例如购买啤酒的顾客中3%也购买尿布)的所有关联规则R - 为每个当前用户
u
设置一个候选推荐集P_u
,初始化为空 - 对每个用户
u
搜索关联规则集合R
,找出该用户支持的所有关联规则R_u
- 将关联规则集合
R_u
中的所有项目添加入候选推荐项目集P_u
- 从候选项目集中删除用户
u
已经评分过或购买过的商品 - 从剩下的项目集中选择置信度最高的前N个项目作为推荐结果返回给用户
u
。
一个基于关联规则的推荐算法——Apriori关联提取算法的实例讲解在这里。
基于关联规则的推荐算法有如下优点:
- 使用关联规则,直接产生Top-N推荐集,推荐效率较高
- 通过挖掘用户的历史浏览记录的关联性进行推荐,可以用到不同的领域;
但也有如下缺点:
- 需要人为给定支持度和置信度阈值,如果赋值不当,会造成模型计算时间较长,推荐效果较差
- 新加入的项目无法获得推荐
- 系统规模扩大后,关联规则的挖掘会很复杂,耗吋较长,影响推荐性能