您现在的位置是:首页 > IT基础架构 > 软件与服务 >
基于聚类的关联规则在CRM中的应用
摘要随着数据量的不断增大,关联规则算法的效率逐减低下,大多数关联规则算法都需要多次扫描数据库,而频繁的输入输出操作对于大容量数据集在时间耗费上是不能容忍的。...
随着数据量的不断增大,关联规则算法的效率逐减低下,大多数关联规则算法都需要多次扫描数据库,而频繁的输入输出操作对于大容量数据集在时间耗费上是不能容忍的,因此提出将聚类算法引用到关联规则中,称为基于聚类的关联规则算法MARC(Mining Association Rules using Clustering),该算法只需对数据库扫描一遍,算法首先对交易数据库聚类,将类似的交易聚集到同一个类中,然后在聚类结果上而不是在原始数据集上发现关联规则,这样大大减少了关联规则开采算法需要处理的数据量,从而提高开采效率。
1 算法的介绍
1.1 关联规则
在关联规则中,D是所有事务的集合,假设X、Y是数据项集,则关联规则表示为(T中包含X)=>(T中包含Y),通常简写为X=>Y,X称为关联规则的前件;Y称为关联规则的后件;=>称为关联操作。事务集D中的规则由支持度和可信度约柬。可信度表示规则的强度,支持度表示规则的频度。事务数据集D中包含项目集X的事务数称为项目集X的支持数,记为项目集X的支持度Support(X),
support(x)=δ/|D|
项目集X的可信度,即Confidence(X=>Y);
Confidence(X=>Y)=Support(X∪Y,Support(X)
关联规则的挖掘实际上就是首先找出事务数据集D中所有大于等于最小支持度的频繁集,然后在频繁集上找出大于等于最小可信度的规则,最后得到关联规则。
1.2 聚类算法
聚类(Clustering)四是一个将数据集划分为若干组(Class)或类(Cluster)的过程,并使得同一个组内的数据对象具有较高的相似度,而不同组内的数据对象则是不相似的。聚类的形成通过构造一个树形数据结构得以完成,逐个读入数据对象加入到树中,因此构造过程是一个动态过程。这里简单说明对象加入的过程,每读入一个新的数据对象。从树的根节点开始,每到达一层,选择下一层的某一个节点作为新对象的目标节点,直到到达某个叶子节点为止。树的每个叶子节点就是聚类结果,因此聚类是在树形结构构造的过程中逐渐形成的。使用的树形结构称作聚类树CT,构造聚类树使用了最佳优先搜索策略的思想,当对象到达某个非叶子节点,就面临选择下一个目标节点的问题,算法使用估价函数。
1.3 基于聚类的关联规则算法(MARC)
MARC算法:首先聚类原始数据库,采用压缩技术使得得到的类表达为压缩形式,从而减少关联规则开采算法需要处理的数据量.算法使用聚类汇总CS(Clustering Summary)作为类C的压缩表达,MARC算法步骤如下:①交易聚类:读入交易对象,逐个插入到聚类树CT中,聚类树CT存储的数据为压缩后得到的聚类汇总CS(聚类结果数据量比原始集合小得多);②将聚类汇总CS转换成符合关联规则发现要求的形式MCS;③在步骤②的输出结果上使用关联规则。
算法框架描述如下:
MARC(D,B,minsim,δ)
I=1,MSCS={},CT=null;//初始化变量
Clustering(D,B,minsim);//聚类
For each leaf node CSin CT do/*转换SCS为MSCS*/,
MSCS=MSCSModi钾CS(CS,);
GenerateAssociationRules(MSCS);/*对MSCS进行关联规则挖掘*/
其中D为交易的集合,构造聚类树需要预先定义的阈值和最小相似minsim,转换CS为MCS所需的转换因子δ,TC中每个叶子节点所记录的CS为MCS,函数Modify(CS,δ)实现每个CS的转换,将结果MCS存放在MSCS中。
MARC算法可以划分为3个步骤:
①聚类过程:
②转换SCS为MSCS过程;
③关联规则挖掘过程。
2 MARC算法在CRM中的应用
本文CRM数据挖掘的主题就是对源数据展开关联分析,找到客户的购买规律,从大量的交易数据中,获得这些大客户购买商品的种类和频率,通过关联规则。找出最受客户欢迎的商品,并根据客户的喜好,采取相应措施维护客户关系,实现客户价值。
本文选用食用油、米、盐、面包、牛奶等数据源经过筛选以后,在实现数据挖掘之前,还需要对数据进行二元处理。首先。把商品分为五大类,分别为“食用油”、“米”、“盐”、“面包”、“牛奶”,先通过MARC算法中前两个步骤建立TC树,来得出客户是否购买这些商品,并以二元数据加以表示。
数据挖掘选用Weka GUI Chooser工具。Weka GUI Chooser是基于Java的用于数据挖掘和知识分析的平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则以及在新的交互式界面上的可视化。本文对超市销售数据的挖掘,选用聚类分析和关联规则算法,调用Weka GUI Chooser挖掘工具中的Associate Rules模块和Cluster模块,运用MARC算法思想。在关联规则发现领域用聚类分析算法,同时选定关联规则中的Apriori算法,将预处理好的数据转换为文本格式,导入Weka GUI Chooser进行挖掘。
挖掘的结果显示为:
(1)rice=yes 400==>oil-no sah=no 220 conf:(0.55)
(2)oil=no milk=no 550==>salt=no 332 conf:(0.60)
(3)oil=no 620==>rice=yes 360 conf:(0.58)
(4)rice=ves 450==>oil=no salt=no milk=no 220 conf:(0.49)
(5)rice=no milk=no 522==>oil=ves bread=no 296 conf:(0.57)
(6)oil=no 530==>bread=no 309 conf:(0.58)
(7)salt=no 665==>rice=no 352 conf:(0.53)
(8)oil=no 600==>rice:yes milk=no 342 conf:(0.57)
(9)rice=yes 450==>oil=no salt=no milk=no 240 conf:(0.53)
(10)slat=no 620==>oil=no milk=no 350conf:(0.56)
在所得结果中.有意义的关联规则主要有:
1.if oil=yes 165 lhen milk=yes 112 conf:(0.68)
2.if oil=yes 200 then salt=yes 365 conf:(0.55)
3.if bread=yes 240 then rice=yes 124 conf:(0.52)
3 结 语
采用基于聚类的关联规则应用在CRM中有三个优点:一是构造CT树方法结构简单,可以生成便于人们理解的规则;二是CT树模型效率较高,计算量相对来说不是很大,对CRM中数据量较大的情况较为适合;第三,通常不需要额外的领域知识,自组织性较强。本文提出的MARC算法只需要一次扫描CRM交易数据库,可以极大地提高搜索效率,而且内存占用仅仅和交易数据库中项目的数量有关,而与交易数据库本身的大小无关,因此该算法可以挖掘CRM海量数据库,具有良好的可伸缩性。
(本文不涉密)
责任编辑: