APP下载

Apriori算法在电商网站个性化推荐中的研究与实现

2018-03-31耿晓利王淑娟陈晓锋

电脑知识与技术 2018年6期
关键词:Apriori算法个性化推荐数据挖掘

耿晓利 王淑娟 陈晓锋

摘要:电商发展迅速,用户不再局限于淘宝、京东等大型网站购物,小型商务网站时兴起来。大型商务网站可以快速精准的对用户做出个性化推荐,但小型商务网站由于自身规模、运营状况等方面有独有的特点,个性化推荐也需具有针对性。如何实现小型商务网站中的个性化推荐是个值得研究的课题。文章设计实现了领跑运动商城,对经典Apriori算法进行优化,着重阐述了Apriori算法的优化思路及领跑运动商城的个性化推荐实现过程。

关键词:Apriori算法;领跑运动商城;数据挖掘;个性化推荐

中图分类号:TP391-3 文献标识码:A 文章编号:1009-3044(2018)06-0244-03

电子商务发展越来越迅速,用户在众多的商品中浏览,时限逐渐加长,如果实现对用户个性化推荐以方面用户快速定位,是电子商务系统研究的重点与热点。随着小型企业商务网站的兴起,个性化推荐受到高度重视。中小型企业商务网站由于自身规模、运营状况等与大型商务网站不同,大型网站的个性化推荐在中小型企业商务网站中直接运用并不合适。本文设计实现了小型电子商务网站——领跑运动商城,并着重对Apriori算法在商城中实现个性化推荐及Apriori算法优化思路进行详细的阐述。

1 Apriori算法原理

Apriori算法是关联规则挖掘中最经典的算法,在1993年被R.Agrawl等人提出,算法的目的是从数据库中找出最大项目集从而产生关联规则。

Apriori算法通过扫描首先产生候选项集然后再生成频繁项集进行逐层搜索,去寻找项集之间的关系。Apriori算法需要对数据集进行多步处理。含几个元素的项集就称为几维项集,算法首先计算出一维项集出现的频度,一维项集表示为1-项集,通过比较将频度小于最小支持度的项集删除,最后保留下来的即为一维频繁项集。一直循环直到没有频繁项集生成。循环过程是:第k步中,根据第k-1步生成的(k-1)维频繁项集,(k-1)频繁集自连接后产生k维候选项目集,根据k维候选集与最小支持度的比较后找到k维频繁项集。剪枝过程伴随着候选项集的产生而进行着,算法寻找k-频繁项集的过程如图1所示。

Apfiori算法有着某些的缺陷。通过“扫描-产生候选项集-比较剔除-产生频繁项集”的模式,逐层产生新的项集然后不断循环,直到频繁项集无法结合产生候选项集为止。基于上述情况,Apriori算法在执行时会多次扫描事务数据库产生所挖掘的规则存在大量冗余,产生大量的候选项集,而且部分规则可能是没有价值甚至是具有误导性的;其次因为每次都要对候选集Ck进行支持度计算,计算项过多导致执行缓慢。

2 Apriori算法优化及实现

2.1最小支持度阈值设定

支持度和置信度两个阈值是描述关联规则的两个重要概念,支持度反应关联规则在数据库中的重要性,置信度衡量关联规则的可信程度。

Apriori算法规则的产生依赖于最小支持度与最小置信度两个参数,两者分别决定了规则的频繁度与强度。最小支持度阈值的设定与最终产生的关联规则结果有着密不可分的关系。

本文利用利用牛顿插值多项式实现最小支持度阈值的设定。从整个待挖掘的数据集中选取小部分数据集,然后运行挖掘算法。第一次运算根据用户要求或经验选择支持度与置信度值,得到关联规则数目n,用户期待的规则数目为n,如果n/n>d,则支持度阈值要继续增大然后重新运行,如果b

2.2优化思路

Apfiori算法不断重复的扫描数据库产生了大量的冗余,针对这个问题本文做出两点修改。一是考虑候选项集Ck前,产生k-1维频繁项目集时对该集中出现元素的个数进行计数处理,当某一个元素要成为k维项集的元素的话,该元素在k-1阶频繁项的计数次数必须达到k-1个,否则不可能生成k维项集,事先删除这类元素,排除该元素的所有组合,达到降低循环判断次数的目的。对庞大的数据量而言,这种时间开销的降低对数据挖掘效率来说是显而易见的。二是‘删除一些不能支持频繁集的记录,即把不符合再次扫描比较条件的记录通过交换记录内容的方式移到数据库的末端,把末端新记录填入该记录的位置。同时对数据库中的记录数逻辑地减少。

改进后的算法虽然会在记录重写中浪费时间和I/O的开销,算法对以后在数据量增长中的扫描比较次数的优势将逐渐体现出来。从理论上可以相信在数据量庞大的条件下算法在挖掘时间会上有改进。

算法实现步骤:

3商城界面生成

本文实现的商城及推荐后台界面分别图2和图3所示。

在领跑运动商城主界面上,当用户点击一款商品后,在展示商品界面中除了展示商品信息外,还展示个性化推荐商品。图3为后台,在后台中可以调整挖掘算法中的支持度以便得到用户满意的商品推荐结果。商城初始交易数据较少,对于最小支持度和最小置信度的设定会相对低些,随着交易规模的扩大,逐渐调整参数值,以保证实现精确个性化推荐。

4结论

本文设计了一个基于Apriori算法优化的个性化电子商务网站,能够在一定程度上满足小型电子商务网站的快速响应、决策准确等要求。随着系統交易数据的增多,系统的挖掘时间及推荐效果需要进一步验证,相关研究仍将进行下去。

猜你喜欢

Apriori算法个性化推荐数据挖掘
基于并行计算的大数据挖掘在电网中的应用
基于Hadoop平台的并行DHP数据分析方法
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究