SAS数据挖掘实战篇【一】
1数据挖掘简介
需求是一切技术之母,管理和计算机技术的发展,促使数据挖掘技术的诞生。随着世界信息技术的迅猛发展,信息量也呈几何指数增长,如何从巨量、复杂的数据中获取有用的信息,成为了信息技术研究领域的一道新课题。在这样的背景下,数据挖掘技术诞生并成为了近年来的研究热点。机器学习、数据库技术和数理统计是数据挖掘的三个技术支柱。
今天,这些技术已经相当成熟,加上高性能关系数据库引擎和广泛的数据集成,让数据挖掘技术得到了广泛的实际应用。目前数据挖掘相关研究文献越来越多、可用技术也层出不穷,数据挖掘的理论体系正在形成,相信很快就会成为一种主流信息技术。当然,数据挖掘面向应用领域要做的事还很多,比如需要开发更多数据挖掘系统和产品,需要建立行业内的数据标准和通用挖掘平台,需要建立可交换信息和共享知识的通用数据仓库等。应该说,数据挖掘包含的内容很多,值得研究的方向也很多。但是,我们也注意到,就目前而言,注重多种策略和技术的集成,以及各个学科之间的相互渗透是目前的研究热点。传统机器学习技术一般使用研究者按照条件和结论事先组织好的数据,但是数据挖掘却需要面对现实的数据,通常具有不完整、带有噪音、数量大、甚至还不断增加等特点,因此传统机器学习方法需要改进后才能用于数据挖掘。所以,目前数据挖掘的研究重点应该是针对应用实践,综合借鉴交叉学科中的技术和方法,互相渗透,发现新的方法或进行多种策略和技术的集成。
1.2数据挖掘概念
数据挖掘,顾名思义就是指从大量的数据中提取人们所感兴趣的、事先不知道的、隐含在数据中的有用的信息和知识的过程,并且把这些知识用概念、规则、规律和模式等方式展示给用户,从而解决信息时代的“数据过量,知识不足”
的矛盾。 数据挖掘技术是从数据库中的知识发现KDD(Knowledge Discovery in
Database)的研究起步的,KDD是随着数据库开始存储了大量业务数据,并采用机器学习技术分析这些数据,挖掘这些数据背后的知识而发展起来的。随着KDD研究的深入,越来越多的研究人员进入这一领域。目前,大多数研究还是主要集中在数据挖掘的算法和应用上。事实上,人们往往不严格区分数据挖掘和数据库中的知识发现这两个概念,常常将两者混淆使用。一般在科学研究领域中称为KDD,而在工程应用领域则称为数据挖掘。数据挖掘是一门交叉学科,涉及到机器学习、统计学、人工智能、模式识别、数据库、信息检索、信息可视化和专家系统等多个领域。
2数据挖掘原理
2.1数据挖掘技术
数据挖掘任务主要有很多种,常见的有监督学习(或称为分类学习)、无监督学习(或称为聚类分析)、关联规则挖掘、预测、时序挖掘和偏差分析等等。
1.分类学习:分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法模型而求得分类规则。分类可被用于规则描述和预测。目前比较常见的分类算法有K最近邻居算法(K
Nearest Neighbor Algorithm)、决策树算法、贝叶斯分类和支持向量机算法(Support Vector
Machine)等等。
2.聚类分析:聚类就是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据属性之间的相互关系。目前常见的聚类算法有基于划分的算法、基于层次的算法、基于密度算法和基于网格的算法等等。
3.关联规则:关联规则挖掘是描述两个或两个以上变量的取值之间存在某种规律性,就称为关联。数据关联是数据库中存在的一类重要的、可被发现的知识。关联分为简单关联、时序关联和因果关联。关联分析的目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阈值来度量关联规则的相关性,还不断引入兴趣度、相关性等参数,使得所挖掘的规则更符合需求。
4.预测:预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。预测关心的是精度和不确定性,通常采用预测方差来度量。预测的主要方法有统计学中的回归分析等等。
5.时序模式:时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用已知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。
6.偏差分析:在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之间的差别。
2.2数据挖掘过程
数据挖掘方法在数据挖掘过程起着很重要的作用。但是,作为一个数据挖掘应用来说,数据挖掘仅仅是整个过程中的一个环节。数据挖掘项目的成功需要花费相当的心血,依照规范的流程进行操作。一般来说,数据挖掘需要经历以下过程:确定挖掘对象、收集数据、数据预处理、数据挖掘和信息解释。在整个数据挖掘过程中,信息可视化技术扮演着很重要的角色。下面详细介绍各个数据挖掘的步骤。数据挖掘步骤图:
1.确定挖掘对象:定义清晰的挖掘对象,认清数据挖掘的目标是数据挖掘的第一步。数据挖掘的最后结果往往是不可预测的,但是要解决的问题应该是有预见性的、有目标的。在数据挖掘的第一步中,有时还需要用户提供一些先验知识。这些先验知识可能是用户的业务领域知识或是以前数据挖掘所得到的初步成果。这就意味着数据挖掘是一个过程,在挖掘过程中可能会提出新的问题;可能会尝试用其他的方法来检验数据,在数据的子集上展开研究。
2.数据收集:数据是挖掘知识最原始的资料。“垃圾进,垃圾出”,只有从正确的数据中才能挖掘到有用的知识。为特定问题选择数据需要领域专家参加。因此,领域问题的数据收集好之后,和目标信息相关的属性也可以确定。
3.数据预处理:数据选择好以后,就需要对数据进行预处理。数据预处理包括:去除错误数据和数据转换。错误数据,在统计学中称为异常值,应该在此阶段发现并且删除。否则,它们将导致产生错误的挖掘结果。同时,需要将数据转换成合适的形式。例如,在某些情况下,将数据转换成向量形式。另外,为了寻找更多重要的特征和减少数据挖掘步骤的负担,我们可以将数据从一个高维空间转换到一个低维空间。
4.数据挖掘:数据挖掘步骤主要是根据数据建立模型。我们可以在这个步骤使用各种数据挖掘算法和技术。然而,对于特定的任务,需要选择正确合适的算法,来解决相应的问题。
5.信息解释:首先,通过数据挖掘技术发现的知识需要专家对其进行解释,帮助解决实际问题。然后,根据可用性、正确性、可理解性等评价指标对解释的结果进行评估。只有经过这一步骤的过滤,数据挖掘的结果才能够被应用于实践。
6.可视化:可视化技术主要用来通过图形化的方式显示数据和数据挖掘的结果,从而帮助用户更好的发现隐藏在数据之后的知识。它可以被应用在数据挖掘的整个过程,包括数据预处理、数据挖掘和信息解释。数据和信息的可视化显示对用户来说非常重要,因为它能够增强可理解性和可用性。
3数据挖掘应用
3.1数据挖掘工具
目前国际上广泛应用的数据挖掘工具有很多,如SAS公司的Enterprise
Miner,SPSS公司的Clementine,Waikato大学开发的Weka平台,SQL
Sever的数据挖掘模块,IBM公司的DB Miner等。本文应用了SAS Enterprise
Miner模块进行了数据挖掘的相应研究。
SAS(STATISTICAL ANALYSIS
SYSTEM)是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件。SAS(Statistical
Analysis
System)是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。SAS系统基本上可以分为四大部分:SAS数据库部分;SAS分析核心;SAS开发呈现工具;SAS对分布处理模式的支持极其数据仓库设计。SAS系统主要完成以数据为中心的四大任务:数据访问、数据管理、数据呈现、
数据分析。SAS持续良好的统计分析功能,得到了业界广泛好评,这为它在国际专业统计分析软件领域获得头把交椅奠定了基础。http://www.cda.cn/view/17203.html
3.2数据挖掘应用场景
目前,数据挖掘在很多领域得到了广泛的应用。以客户为导向的应用有市场购物篮分析、获取客户、客户细分、客户保持、交叉销售、向上销售、客户终身价值分析等等;以运营为导向的应用有盈利分析、定价、欺诈发现、风险评估、客户流失分析、生产效率分析等等。除此之外,数据挖掘还在生物信息学、互联网、金融、电力等等企业有着各种各样的应用。
在未来的发展中,数据挖掘将被用于更多的领域。