CRM中的数据挖掘分析

    随着电子商务的发展,企业的产品越来越趋向于同质化,仅仅依靠产品本身很难在日趋激烈的竞争中取胜,所以愈来愈多的先进企业将重点从“以产品为中心”向“以客户为中心”的新型商业模式转移,客户关系管理也就应运而生。客户关系管理为企业经营、决策和管理提供了一种新型商业模式。
    当今许多企业的数据库或数据仓库中都搜集和存储了大量关于客户的宝贵数据,这些数据涵盖了从客户基本数据、购买记录及客户反馈的各个环节。充分利用这些数据,深入分析、挖掘隐含在这些数据中的有用信息,将有助于企业更好地管理客户关系,实现CRM的功能和目标。数据挖掘技术的目的是对这些数据进行抽取、转换、分析和模型化处理,从中提取辅助商业决策的关键性数据律。客户关系管理是数据挖掘技术在企业决策支持系统中的重要应用领域。
1 CRM与数据挖掘的基本理论
    1.1 CRM的概念
    客户关系管理系统(Customer Relationship Management,简称CRM)是指对企业和客户之间的交互活动进行管理的过程。它是企业为了提高核心竞争力,通过改进对客户的服务水平,提高客户满意度和忠诚度所树立起来的以客户为核心的经营理念;是通过开展系统化的理论研究,优化企业组织体系和业务流程,实施于企业的市场营销、销售、服务、技术支持等与客户相关的领域,旨在改善企业与客户之间关系的新型机制;也是企业通过技术投资,建立能搜集、跟踪和分析客户信息的系统,创造并使用先进的信息技术、软硬件,以及优化的管理方法和解决方案的总和。
    1.2 数据挖掘的定义
    数据挖掘(或KDD)是从大量数据中提取出可信的、新颖的、有效的并能被人理解的模式的处理过程,这种处理过程是非平凡的过程。
    数据挖掘从数据集中识别出的模式来表示的知识的处理过程是一个多步骤的处理过程,多步骤之间相互影响,反复调整,形成一种螺旋式上升过程,挖掘的知识表示为概念(Concepts)、规则(Rules)、规律(Regularities)等形式。
    1.3 数据挖掘技术在CRM中的应用
    随着信息技术的迅速发展,特别是数据库技术和计算机网络的广泛应用,企业拥有的数据量急剧增大。在大量的数据与信息中,蕴藏着企业运作的利弊得失。若能够对这种海量的数据与信息进行快速有效地深入分析和处理,就能从中找出规律和模式,获取所需知识,帮助企业更好地进行企业运筹决策。数据挖掘技术和产品在这种市场需求中逐渐发展成熟,并使企业获得极高的投资回报。在企业管理客户生命周期的各个阶段都会用到数据挖掘技术。数据挖掘能够帮助企业确定客户的特点,从而可以为客户提供有针对性的服务。
2 数据挖掘中的决策树算法
    2.1 决策树的基本理论
    所谓决策树就是一个类似流程图的树型结构,其中树的每个内部结点代表对一个属性(取值)的测试,其分支就代表测试的每个结果;而树的每个叶结点就代表一个类别。树的最高层结点就是根结点。为了对未知数据对象进行分类识别,可以根据决策树的结构对数据集中的属性值进行测试,从决策树的根结点到叶结点的一条路径就形成了对相应对象的类别预测。
    2.2 决策树的生成
    决策树的生成的基本算法是贪心算法。它以自顶向下递归的各个击破方式构造决策树。建立一棵决策树通常分为两个阶段:建树(Tree Building)和剪枝(Tree Pruning)。
    2.3 决策树算法
    SPRINT算法吸取了SLIQ算法的预排序技术,但它使用不同的数据结构,消除了所有的内存限制,且易于并行化,进一步增强了可伸缩性。所采用的剪枝算法与SLIQ相同。因为决策树算法中的关键问题是建树,而建树阶段与剪枝阶段相比,其所需时间远远大于剪枝所需时间。下面对SPRINT算法中的几个关键步骤加以阐明。
    2.3.1 数据结构
    属性表(Attribute List):SPRINT算法使用一种新的属性表数据结构,存放类和rid(index of the record)信息。每个属性具有一个属性表,表中每条记录由属性值、类标号和rid组成。初始状态下,对数值型属性按其属性值进行排序。如果内存不够,属性表可以驻留磁盘。最初的根据训练集所创建的属性表均指向树根,随着树的生长,当节点分裂时,属性表被划分,并在结果子女节点分布,当表划分时,表中记录的次序维持不变,因此,划分表不需要重新排序。
    直方图(Histograms):SPRINT算法中的直方图是用于计算每一种分裂方案的gini指数值。对于数值型属性,每一个节点,对应两个直方图,分别用Cabove,和Cbelow表示。它们表示属性记录在给定节点上的类分布情况。遍历属性表时,直方图也随之改变,其中:Cabove表示未扫描过的属性记录的类分布情况。Cbelow表示己扫描过的属性记录的类分布情况。对于离散属性,每个节点对应有一个直方图,它包含给定属性上每一个值的类分布情况。
    2.3.2 节点的分裂方法
    计算最佳分裂:在SPRINT算法中,采用gini指数作为评价节点分裂质量的参数。寻找最佳分裂的方法是:遍历每一个节点的属性表,同时评价每个属性表的分裂价值,完成遍历后,包含gini索引最低的分裂点的属性作为最佳分裂方案。
    执行节点分裂:创建节点,执行节点分裂这一步的主要任务是对节点的每一个属性表进行划分。包含分裂属性的属性表的划分十分容易。即通过遍历属性表,应用分裂条件去测试,然后根据测试的结果将记录分别放入每一个子节点的属性表中。
    2.3.3 算法的剪枝
    SPRINT的剪枝算法MDL属于事后修剪(post pruning)算法。通常的事后剪枝的数据源采用一个Training Set的一个子集或者与Training Set独立的数据集进行操作。MDL(Minimum Description Length)的目标是生成一棵描述长度最小的决策树。MDL原理认为:最优的编码模型是描述数据代价最小的模型。如果模型M对数据集D进行编码,那么描述代价:cost(DIM)=cost(D|M) cost(M)
    其中:cost(M|D)表示表示编码的总代价;cost(D|M)表示用模型M对数据D编码的编码代价,单位bits,cost(M)表示描述模型本身所需的编码长度。
    2.3.4 SPRINT算法的评价
    SPRINT算法的优点是明显的,它总能够生成一棵最好的树。但是,这种算法在处理数值型属性的时候也有明显的不足:1)它需要对整个训练集进行预先排序;2)对所有的数值型属性的不同值都要进行gini指数的评估。
    这种方法工作量很大,特别是对于超大数据集,当属性含有大量的不同取值时,效率非常低。为了减少SPRINT算法的计算量,提高算法的效率,我们的算法主要从处理数值型属性方面对SPRINT算法进行改进。
 
    更多信息,请拨打我们的客服热线:400-0708-092 或 访问亿客CRM官网:http://www.yikeer.com

posted on 2013-03-21 15:40  亿客crm  阅读(468)  评论(0)    收藏  举报