数据挖掘(Data mining,简称DM)从狭义上是指从数据库中提取知识。具体的说是在数据库中,对数据进行一定的处理,从而获得其中隐含的、事先未知的而又可能极为有用的信息。这些信息通常是以知识、规则或约束等形式来表现。在其他文献中有许多类似的提法,例如:数据分析,知识获取,知识萃取,数据构成[1]等。数据挖掘方法在数据库系统和人工智能领域是一个新方向。这里所说的知识是指大量数据中存在的规律性(regularity)或不同特征属性值之间所存在的[if then]规则。从大量数据中获取知识有两个层次的含义:首先,与科学发现有关。从观测客观世界的大量实验数据(往往是数值)中发现数据的整体结构特性和数据之间的函数关系,并根据统计特征推断客观世界中存在的规律性;其次,与商业数据等事实数据所构成的数据库中发现其中隐含的规则或规律性有关。第二类是将人工智能技术与数据库理论相融合的应用性研究课题。本文主要讨论后者。
数据挖掘的最终目的是发现人们不易察觉的、隐含的模式。一般说来,这些模式中最易于理解的是统计模型。其次是对数据的外围检测,对大规模数据集的模式识别、分类或聚类。最后是从理论和计算上解决在大多数数据库管理系统中存在的多维空间和大量的数据处理的问题。
目前,国外有许多研究机构、公司和学术组织在从事数据挖掘工具的研究和开发。这些数据挖掘工具主要包括决策树、相关规则、神经元网络、遗传算法,以及可视化、联机分析处理等。另外也采用了传统的统计方法。
1.决策树(Decision Tree)
决策树是建立在信息论基础之上,对数据进行分类的一种方法。首先,通过一批已知的训练数据建立一棵决策树。然后,利用建好的决策树,对数据进行预测。决策树的建立过程可以看成是数据规则的生成过程。因此可以认为,决策树实现了数据规则的可视化,其输出结果也容易理解。例如:在金融领域中将贷款对象分为低贷款风险与高贷款风险两类。通过决策树,我们可以很容易地确定贷款申请者是属于高风险的还是低风险的。
决策树方法精确度比较高,结果容易理解,效率也比较高,因而比较常用。
2.神经网络(Neural Network)
神经网络建立在自学习的数学模型基础之上。它可以对大量复杂的数据进行分析,并可以完成对人脑或其他计算机来说极为复杂的模式抽取及趋势分析。
神经网络系统由一系列类似于人脑神经元一样的处理单元组成,我们称之为节点(Node)。这些节点通过网络彼此互连,如果有数据输入,它们便可以进行确实数据模式的工作。神经网络由相互连接的输入层、中间层(或隐藏层)、输出层组成。中间层由多个节点组成,完成大部分网络工作。输出层输出数据分析的执行结果。例如:我们可以指定输入层为代表过去的销售情况、价格及季节等因素,输出层便可输出判断本季度的销售情况的数据。
3.相关规则
相关规则是一种简单却很实用的关联分析规则,它描述了一个事物中某些属性同时出现的规律和模式。例如:超级市场中通过POS(Point Of Sell)系统收集存储了大量售货数据,记录了什么样的顾客在什么时间购买了什么商品,这些数据中常常隐含着诸如:购买面包的顾客中有90%的人同时购买牛奶的相关规则。
相关规则分析就是依据一定的可信度、支持度、期望可信度、作用度建立相关规则的。
4.K-nearest邻居
邻居就是彼此距离很近的数据。依据"Do as your neighbors do"的原则,K-nearest邻居方法认为:邻居数据必然有相同的属性或行为。K表示某个特定数据的K个邻居,可以通过K个邻居的平均数据来预测该特定数据的某个属性或行为。
5.联机分析处理(On Line Processing)
联机分析处理(OLAP)主要通过多维的方式来对数据进行分析、查询和报表。它不同于传统的联机事物处理(Online Transaction Processing,OLTP)应用。OLTP应用主要是用来完成用户的事务处理,如民航订票系统、银行储蓄系统等等,通常要进行大量的更新操作,同时对响应时间要求比较高。而OLAP应用主要是对用户当前及历史数据进行分析,辅助领导决策。其典型的应用有对银行信用卡风险的分析与预测、公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。
6.数据可视化(Data Visualization)
对大批量数据的展现也是数据挖掘的重要方面。就数据可视化系统本身而言,由于数据量很大,很容易使分析人员面对数据不知所措,数据挖掘的可视化工具可以通过富有成效的探索起点并按恰当的隐喻来表示数据,为数据分析人员提供很好的帮助。
数据可视化工具大大扩展了传统商业图形的能力,支持多维数据的可视化,从而提供了多方向同时进行数据分析的图形方法。有些工具甚至提供动画功能,使用户可以“飞越”数据,观看到数据不同层次的细节。