免费论文查重: 大雅 万方 维普 turnitin paperpass

探索算法基于MapReduce电信客户流失决策树算法研究怎样

最后更新时间:2024-03-05 作者:用户投稿原创标记本站原创 点赞:22775 浏览:97768
论文导读:
摘要:针对传统的关系型数据管理技术在电信企业面对海量数据对客户流失进行分析研究时存在的海量存储能力和计算能力不足的问题,提出了一种基于MapReduce架构的并行决策树算法,该算法采用校正系数来避免ID3算法多值偏向问题,并应用于客户流失分析中。在Hadoop 集群平台上的结果分析表明: 基于MapReduce并行模型能够解决电信企业进行客户流失分析时处理大规模数据的问题,在保证分类准确率的情况下能获得趋近线性的加速比,并具有较好的扩展性。
关键词: MapReduce; 决策树; 客户流失
1009-3044(2013)30-6710-04
1 概述
随着电信业务的发展和体制的不断变革,国内电信行业之间的竞争日益激烈。各运营商为了增加收入和利润,提高客户满意度和忠诚度,必须充分获取和利用数据信息对企业决策过程进行辅助支持,而数据挖掘技术就是实现这一目标的重要手段。数据挖掘技术在电信领域有着非常广泛的应用,比如客户关系管理、电话欺诈、客户流失分析和客户消费模式分析等等。客户流失分析是通过数据挖掘,分析客户的自然属性特征和行为特征,找到可能流失客户的特征,及时采取相应措施,为企业挽留这类客户提供决策参考。
决策树分类算法是应用最广的归纳推理算法之一,传统的决策树算法有:ID3、.5等。将决策树算法应用于电信客户流失分析中的案例也不少。但是,随着电信行业客户信息量的爆发式增长,传统决策树算法在处理海量客户数据时性能问题日益明显,因此,利用大规模处理技术来实现海量客户数据的挖掘分析任务越来越重要,将决策树分摘自:学士论文www.7ctime.com
类算法进行并行化也被越来越多的人重视。Google提出的MapReduce模型为大数据处理提供了解决方案。该模型对用户而言只需要设计并行计算任务。该文针对电信客户流失中使用的决策树算法,先将电信客户的一些属性进行筛选和概化,然后利用属性间独立的性质,设计提出了一种面向海量电信客户数据的并行决策树算法,对电信客户流失进行分析和研究,实验表明该算法是高效可行的。
2 电信企业客户流失分析
通常数据挖掘的过程可以大致分为问题定义、数据选择、数据清洗和预处理,以及模型建立与调整,模型的评估与检验,模型解释与应用等。
在电信的数据仓库中,已有大量的客户个人基本信息,即客户信息表。客户信息表中,有很多的属性,比如客户姓名,年龄,用户接入号码,在网时间,客户状态等,数据准备的时候,需要面向属性进行归纳,即考察数据中的每个属性的不同值的个数,进行概化。概化可以通过属性删除或者属性概化实现。经过属性删除处理后的客户信息如表1所示。
3 MapReduce技术
Hadoop是Apache的一个开源分布式计算框架,并已应用在许多网站,如亚马逊,脸书和雅虎等等。Hadoop是一个分布式系统基础架构,充分利用集群的力量,具有高速运算和存储能力的优点。它假设计算单元和存储会失败,因此保留多个工作数据副本,以确保重新分配过程中发生故障的节点正常工作。它通过并行处理加快了处理速度。
Hadoop框架最核心的部分是: MapReduce和HDFS。其中,MapReduce是一个用于数据处理的简单编程模型。对相同的处理过程,Hadoop可以运行各种语言编写的MapReduce程序。最重要的是,MapReduce的程序基本上并行的,所以,对拥有足够机器的运营商,我们可以进行大规模数据集的分析。MapReduce具有处理大数据集的显著优势,它非常适合应用于云平台上。
MapReduce的核心任务是将数据转化成不同的逻辑块,用分布式模型编写程序,它可以并行处理分布式集群。MapReduce的输入是一组键/值对,输出的也是键/值对。用户需要将工作分成两块:Map和Reduce。首先,Map过程中的各个块并行分开,这些逻辑块的结果被重新组合起来,形成不同的排序集合,最后,Reduce对它们进行处理[3]。
4 基于MapReduce的决策树算法

4.1改进的决策树算法

ID3算法主要引入了信息论中的信息增益作为选择测试属性的重要度量标准。该算法的核心思想是:选择信息熵最大的属性产生决策树的根节点,由该节点的不同取值建立决策树的分枝,再对各个分枝自论文导读:知道,MapReduce任务先分再合,对于计算属性的信息增益值是可分布执行的,将其作为Map的核心,Reduce函数的任务即汇总,判断最大值,得到下级分割属性,从而构建决策树。5实验平台及结果分析本文算法是基于hadoop平台的MapReduce框架实现的,该平台是由5台服务器组成的集群,其中1台作为namenode,3台作为datanode,1台作为备
顶向下地使用贪心算法递归搜索训练样本集,在每个分枝上又产生新的节点,从而构建决策树。

4.2决策树算法并行化

通过分析可以知道,决策树生成的关键在于通过计算各个属性信息增益值,选择信息增益大的属性作为分裂属性,产生节点和分枝,这样的计算占了大量的资源,消耗了很多时间,鉴于串行计算速度慢的问题,但是属性间相互独立的性质,我们可以用Hadoop平台的Map-
Reduce并行框架来实现属性信息增益的并行计算,从而达到提高效率的目的。基MapReduce的并行算法主要是决策树算法的构建。首先,对每个条件属性,我们计算出各属性的取值记录数矩阵,由各个属性的取值记录数矩阵可以计算出各个属性信息增益的校正系数s。
下面给出基于MapReduce的决策树的具体实现,在算法过程中主要任务是MapReduce操作和对的设计[5]。表3给出Map函数和Reduce函数的算法思路。
从表3可以知道,MapReduce任务先分再合,对于计算属性的信息增益值是可分布执行的,将其作为Map的核心,Reduce函数的任务即汇总,判断最大值,得到下级分割属性,从而构建决策树。
5 实验平台及结果分析
本文算法是基于hadoop平台的MapReduce框架实现的[6],该平台是由5台服务器组成的集群,其中1台作为namenode,3台作为datanode,1台作为备份namenode。每台机器的硬件配置是:8CPU / 48GB内存 / 126GB * 2 硬盘。软件环境:Hadoop-1.0.3,Red Hat Enterprise Linux Server release 6.3 (Santiago),JDK1.7.0。 本文将电信企业连续三个月的客户数据作为训练数据集,一个月的客户数据作为测试数据集,每天的客户信息数据可以达到20GB,其中,总客户数据量约80万,包含原始属性48个。经过人工经验以及前面提到的属性约简方法对属性进行删除概化,得到一个含5个属性的数据集。
采用基于MapReduce的改进的决策树算法对电信客户进行流失分析,由于并行的决策树算法的分类输出与传统的决策树算法的分类输出是一致的,并未改变客户流失预测的准确率,所以只对并行算法的高效性论证。
6 总结
本文在ID3算法的基础上提出了一种解决属性多值偏向问题的并行决策树算法,将其应用于电信企业客户流失分析中,并在Hadoop平台上利用MapReduce框架实现该算法。结果表明,该并行决策树算法除了能准确对电信企业客户流失进行预测分析外,还具有较好的并行性能和效率,很好地解决了面向海量客户数据计算能力不足的问题。
参考文献:
Alex Berson. Building Data Mining Applications for CRM[M].Beijing:The Post and Telecommunications Press , 2001:85 -91.
Luo B,Shao P,Liu J.Customer Churn Prediction Based on the Decision Tree in Personal Handyphone Systenm Service[C].International Cconference on Service Systems and Service M源于:论文提纲格式www.7ctime.com
anagement, 2007:1-5.
[3] Dean J,Ghemawat S.MapReduce: A Flexible Data Processing Tool[J].Communications of the ACM, 2010, 53(1).
[4] 陆秋,程小辉.基于MapReduce的决策树算法并行化[J].计算机应用论文导读:王鄂,李铭.云计算环境下的海量数据挖掘研究.现代计算机,2009(319):22-2

6.上一页123

,2012,32(9):2463-2465,2469.
[5] 朱敏,万剑怡,王明文.基于MR 的并行决策树分类算法的设计与实现[J].广西师范大学学报:自然科学版,2011,29(1) : 82-84.
[6] Dean J, Ghemawat S.MapReduce: simplified data processing on large clusters[J].Commun. ACM, 2008,51(1):107-113.
[7] Palanisamy B.Purlieus: Locality-aware Resource Allocation for MapReduce in a Cloud[M].SC ’11,Seattle, Washington, USA, 2011: 12-18.
[8] 王鄂,李铭.云计算环境下的海量数据挖掘研究[ J].现代计算机, 2009(319):22-26.