1 背景
随着信息技术的迅猛发展,人们可以利用计算机方便地获取和存储大量的数据。但是,仅仅停留在对于已获得的数据进行一些表层的处理(如查询、统计等)已越来越不能满足日常工作的需要,因而人们把需要深入挖掘数据之间的内在关系和隐含的信息作为下一步的研究目标。人们迫切需要一种能够智能的、自动的将数据转换成有用信息和知识的技术和工具,这种对强有力数据分析工具的迫切需求使得数据挖掘技术成为了信息技术中的一个前沿的焦点。
2 数据挖掘的相关理论
2.1 数据挖掘的概念
数据挖掘从大量的,不完整的,有噪声进行模糊随机在原始数据,提取隐瞒,人们事先不知道,而且是潜在有用的,可信的,新颖的信息和知识的过程。数据挖掘由三个步骤组成:数据预处理阶段、模型设计阶段和数据分析阶段(见图1)。
图1 数据挖掘流程
(1)数据预处理阶段(Data Preprocessing Phase)中,特定的业务问题必须得到明确的定义,否则数据挖掘将变得漫无目的。在业务问题的域知识基础上,该阶段的任务包括验证、选择和准备被要求用来论述问题的数据。在构造良好的数据仓库环境里,这些步骤相对简单些,但是仍然会涉及到对采样和平衡数据的考虑。
(2)模型设计阶段(Model Design Phase)需要深入地检查数据,并从中选择那些显示与问题最有关系的字段,它也需要选择一个正确的数据挖掘算法以应用于数据(如:决策树、规则归纳)。然后,最小化地细分数据,一般需要将数据分为一个调整集或者多个测试集。
(3)数据分析阶段(Data Analysis Phase)典型地包括一个附加的准备活动(数据转换)来重组数据,以求更好地匹配己选择的算法和业务问题(例如,处理数据中缺少的值)。此后将已经选择好的数据挖掘工具应用于数据,典型情况下包括创建一个采用数据修正集的模型,然后用至少一个测试数据的独立集来证明这个模型。模型的准确性和有效性需有效地评估。初始的模型将很可能没法达到数据挖掘的目的,许多反复是有必要的,尤其是在模型设计和数据分析阶段中。
2.2 决策树的概念
决策树是作为与样本属性结点,用属性的取值作为分支的树型结构。它是进行了分析和归纳利用信息理论的原则,分析大规模的样本属性而产生的。决策树的根节点是最大的属性信息的内容,在所有样本。树的中间节点是在示例子集的根树包含的信息内容最大的属性点。决策树的叶点是样品类别的价值。决策树使用新的样本分类,即通过新的决策树属性值测试的样本,从树的根节点开始,根据样本属性值逐渐向下沿决策树,直到树的叶子点,这一点表现的类是新的样本类别。决策树方法是在数据挖掘中非常有效的方法。决策树是一种知识的一种表现形式,它是所有高采样数据摘要,即决策树能准确识别所有的样本类别,也可以有效识别地新样本的类别。
决策树包含许多不同的算法,主要分为3类:
(1)基于统计论的方法,以CART为代表,在这类算法中,对于非终端结点来说,有两个分枝。
(2)基于信息论的方法,以D13算法为代表,此类算法中,非终端结点的分枝数由样本类别个数决定。
(3)以AID,CHAIN为代表的算法,在此类算法中,非终端结点的分枝数在两个到样本类别个数范围内分布。
选择决策树算法的优点有:在学习过程中不需要使用者了解很多的背景知识这同时是它的能够直接体现数据的特点,很容易被人理解。速度快。易改造分类规则。只要沿树的根叶向下,沿途可以只确定一个分类规则的裂变条件。更高的精度。同时,它也有许多不足之处,以处理设置每个算法(离散,样品),不仅增加了排序算法的开销,而且降低了大型数据分类的准确性。
2.3 决策树的主要步骤
决策树算法构造决策树来发现数据中蕴涵的分类规则,如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行:
第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是据实际需要有历史的、有一定综合程度的、用于数据分析处理的数据集;
第二步,决策树的剪枝:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修正的过程。主要是用新的样本数据集作为测试数据集中的数据校验决策树生成过程中产生的初步规则,将那些影响预测准确性的分枝剪除。
(1)树以代表训练样本的单个结点开始。
(2)如果样本都在同一个类,则该结点成为树叶,并用该类标记。
(3)否则,算法选择最有分类能力的属性作为决策树的当前结点。
(4)根据当前决策结点属性取值的不同,将训练样本数据集划分为若干子集。每个取值形成一个分枝,有几个取值形成几个分枝。
(5)针对上一步得到的一个子集,重复进行先前步骤,阶梯形成每个划分样本上的决策树。每当某个属性出现在结点上的时候,在该结点上就不需要做后续考虑了。
(6)阶梯划分步骤仅当下列条件之一发生时停止:
①给定结点的所有样本属于同一类。
②当剩余属性无法可以用做进一步划分样本。
此时需要使用多数表决,把给定的结点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该结点样本的类别分布。
③如果某一分枝test-attribute=a*没有样本,则以样本的多数类创建一个树叶。
3 数据挖掘技术在实际中的应用——以客户关系系统为例
在竞争全球化的环境下,信息化浪潮推动了动态联盟的生产,也同时改变了竞争方式,导致竞争不再是单一企业的竞争,而是整个供应链的竞争。这要求传统管理模式向供应链管理方式的转变。在连锁店的各企业供应是一个利益共同体,已经当通过优胜劣汰和协同效应不能生产优势企业的独立性,也使得两家从通过双方建立合作伙伴关系提高生产力,节约资源,以降低成本,获得效益,同时创造更大的客户价值。这也决定了客户关系是企业的重要决定,如何进行排序管理、筛选客户关系对企业的健康发展有重要意义。
3.1 以数据挖掘为核心的系统架构
数据挖掘是一个非常复杂的过程。每个类型的数据挖掘技术都有自己的特点与实现方法,输入输出数据的形式要求、结构、参数设置、培训、测试和模型评价方法等都有不同要求,分别该算法的应用程序域的意义和能力也有差异。数据挖掘和具体适用问题密切相关的,每个数据挖掘问题的应用程序必须实现的目标,数据收集完整程度,问题领域专家的支持程度,等等算法的选择没有任何共同之处。
针对客户信息进行挖掘,需要建立决策树,然后对客户重要性做出判别,最后指导公司决策。现采用以下的流程来建立决策树的模型,如图2所示。
图2 决策树建模流程图
3.2 系统数据结构的设计与实现
3.2.1 数据的选择
挖掘后确定的目标,必须对数据挖掘做出准备。数据行为的制备根据需求的挖掘,收集数据,并建立了数据库,良好的可发掘。数据占用的制备在整个数据挖掘过程中,规模最大的一次。在选择数据库从SQL senrer的客户信息桌前进行数据挖掘的对象。在客户信息表中有大量的客户信息,选择部分原始数据进行数据挖掘。客户信息表中包含的属性,如表1所示。
表1 客户信息属性表
其中,客户类别的取值为:{个人,团体};信誉度的取值为:{高,一般};消费水平的取值为:{高,中,低};购买能力的取值为:{强,一般,差};付款方式的取值为:{现金,汇付,本票,支票,其他};付款能力的取值为:{按时,推迟};单位性质的取值为:{国有,私营,个体}客户级别的取值为:{vip,普通,不重要}。
3.2.2 数据预处理
数据预处理在数据挖掘过程中是一个重要步骤,尤其是在对包含有噪音,不完全,甚至是不一致的数据进行数据挖掘,需要对数据进行预处理,提高数据挖掘对象和数据挖掘满图案的质量。数据预处理技术的技术和数据转换等,数据清理,数据集成,数据真实出售和购买埃斯盖特在同一个家庭。预处理后,可以提高数据挖掘算法的精度和有效性,并保存数据处理的时间。在客户关系管理系统的特点认为,现提出以下图3的数据预处理模型。选取客户信息表500多个样本作为研究的对象,并在这些原始的客户数据进行预处理。
图3 数据预处理
(1)数据转换,我们必须继续就不断离散属性的处理。这个实验涉及的不断属性——消费水平的项目,经过分析,我们将其单独的变化(0,50万):低,(50万,100万):(100万):高。违规约预处理是过程中的重要步骤,其目的是消除一些挖掘没有意义的属性。在多数情况下,我们选择挖掘属性不好,对我们的挖掘,在挖掘时,进行帮助,我们要按照不同的数据情况,有关于客户信息表,例如选择之前,应进行的维吾尔族条款一般以消除领域的第一次和客户的序列号等,客户姓名,地址,电话,传真号码,请注意,因为这些信息可能没有到数据挖掘的意义。
(2)数据清理,在之前的数据进行了挖掘,需要进行干净的第一个数据。通过客户关系系统的日常运作发现,在数据表存在的空缺和数据复制的价值。通常关于空缺值数据,它使用的处理方法包括:忽略行、人工填写空缺值、平均值法等。
3.2.3 数据建模
用决策树流程进行建模,决策树生成算法描述如下:
对原始数据经过预处理,抽取其中部分数据进行数据挖掘,得到条件属性集合C={信誉度,消费水平,购买能力,购买能力,付款能力,单位性质,客户类别},决策属性集合D={客户级别}。
经过基于信息增益的ID3算法构建决策树,我们得到如图4的决策树结果:
图4 初步决策树
3.2.4 数据挖掘的实现
在Analysis Senrices中设置将要训练数据的数据挖掘模型。然后使用客户端工具对受训数据运行高级分析,创建数据挖掘模型的步骤如下:
(1)在“客户分析”树窗格中右击“挖掘模型”文件夹,然后选择“新建挖掘模型”。
(2)打开挖掘模型向导,在“欢迎使用挖掘模型向导”中,选择“下一步”。
(3)在“选择源类型”中,选择“关系数据”。然后“下一步”。
(4)在“选择事例表”中,选择“单个表包含数据”,在“可用的表”中选“客户分析”,然后选择“下一步”。
(5)在“选择数据挖掘技术”中选择“技术”中的“Micmsoft决策树”,然后选择“下一步”。
(6)在“选择键列”中选择“事例键列”中的“ID”,然后选“下一步”。
(7)在“选择输入与可预测列”中选择“重要性分析”,然后用“>”按钮移动到“可预测列”框中。
(8)这些列还将用作输入列。选择“单位性质”、“购买能力”、“信誉度”、“付款能力”、“付款方式”和“联系电话”,并通过“输入列”列表旁边的“>”按钮将其移动到“输入列”框中。单击“下一步”按饥。
(9)最后在“模型名称”框中输入“重要客户预测”。确保选择了“保存并立即处理”,然后“完成”。
(10)出现“处理”窗口,显示正在处理的模型。处理完成之后出现一则消息,说明“已成功完成处理”,选择“关闭”。
下面使用代码通过DSO去创建了一个关系型数据挖掘模型。
4 算法评估
本研究采用UCI公共数据库中的3个数据库来进行仿真试验,并将本研究中提出的决策树算法得出的结果和C4.5算法相应结果进行比较。表2为数据库的基本信息:
表2 数据库基本信息
表3 试验结果
通过对比发现决策树算法明显减少了建立决策树所用的属性个数,决策树的计算成本正比于建树所用属性个数,因此,本文提出的算法明显减少了计算成本。同时,由于算法复杂度较小,构建决策树的效率也将有所提高。实验表明,在建树规模相当的情况下,本决策树算法的预测精度比C4.5有所提高。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于决策树的数据挖掘算法的应用与研究
本文网址:http://www.toberp.com/html/consultation/1083934857.html