数据挖掘技术

我们现在已经生活在一个网络化的时代,通信、计算机和网络技术正改变着整个人类和社会。如果用芯片集成度来衡量微电子技术,用CPU处理速度来衡量计算机技术,用信道传输速率来衡量通信技术,那么摩尔定律告诉我们,它们都是以每18个月翻一番的速度在增长,这一势头已经维持了十多年。在美国,广播达到5000万户用了38年;电视用了13年;Internet拨号上网达到5000万户仅用了4年。全球IP网发展速度达到每6个月翻一番,国内情况亦然。1999年初,中国上网用户为210万,现在已经达到600万。网络的发展导致经济全球化,在1998年全球产值排序前100名中,跨国企业占了51个,国家只占49个。有人提出,对待一个跨国企业也许比对待一个国家还要重要。在新世纪钟声刚刚敲响的时候,回顾往昔,人们不仅要问:就推动人类社会进步而言,历史上能与网络技术相比拟的是什么技术呢有人甚至提出要把网络技术与火的发明相比拟。火的发明区别了动物和人,种种科学技术的重大发现扩展了自然人的体能、技能和智能,而网络技术则大大提高了人的生存质量和人的素质,使人成为社会人、全球人。

面对这一挑战,数据开采和知识发现(DMKD)技术应运而生,并显示出强大的生命力。

另一方面,随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。

数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。现在数据挖掘技术在商业应用中已经可以马上投入使用,因为对这种技术进行支持的三种基础技术已经发展成熟,他们是:

-海量数据搜集

-强大的多处理器计算机

-数据挖掘算法

Friedman[1997]列举了四个主要的技术理由激发了数据挖掘的开发、应用和研究的兴趣:

-超大规模数据库的出现,例如商业数据仓库和计算机自动收集的数据记录;

-先进的计算机技术,例如更快和更大的计算能力和并行体系结构;

-对巨大量数据的快速访问;

-对这些数据应用精深的统计方法计算的能力。

商业数据库现在正在以一个空前的速度增长,并且数据仓库正在广泛地应用于各种行业;对计算机硬件性能越来越高的要求,也可以用现在已经成熟的并行多处理机的技术来满足;另外数据挖掘算法经过了这10多年的发展也已经成为一种成熟,稳定,且易于理解和操作的技术。

从商业数据到商业信息的进化过程中,每一步前进都是建立在上一步的基础上的。见下表。表中我们可以看到,第四步进化是革命性的,因为从用户的角度来看,这一阶段的数据库技术已经可以快速地回答商业上的很多问题了。

进化阶段

商业问题

支持技术

产品厂家

产品特点

数据搜集(60年代)

“过去五年中我的总收入是多少?”

计算机、磁带和磁盘

IBM,CDC

提供历史性的、静态的数据信息

数据访问(80年代)

“在新英格兰的分部去年三月的销售额是多少?”

关系数据库(RDBMS),结构化查询语言(SQL),ODBC

Oracle、Sybase、Informix、IBM、Microsoft

在记录级提供历史性的、动态数据信息

数据仓库;决策支持(90年代)

“在新英格兰的分部去年三月的销售额是多少?波士顿据此可得出什么结论?”

联机分析处理(OLAP)、多维数据库、数据仓库

Pilot、Comshare、Arbor、Cognos、Microstrategy

在各种层次上提供回溯的、动态的数据信息

数据挖掘(正在流行)

“下个月波士顿的销售会怎么样?为什么?”

高级算法、多处理器计算机、海量数据库

Pilot、Lockheed、IBM、SGI、其他初创公司

提供预测性的信息

表一、数据挖掘的进化历程。

数据挖掘的核心模块技术历经了数十年的发展,其中包括数理统计、人工智能、机器学习。今天,这些成熟的技术,加上高性能的关系数据库引擎以及广泛的数据集成,让数据挖掘技术在当前的数据仓库环境中进入了实用的阶段。

数据仓库技术的发展与数据挖掘有着密切的关系。数据仓库的发展是促进数据挖掘越来越热的原因之一。但是,数据仓库并不是数据挖掘的先决条件,因为有很多数据挖掘可直接从操作数据源中挖掘信息

数据挖掘(DataMining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。

与数据挖掘相近的同义词有数据融合、数据分析和决策支持等。这个定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。

----何为知识从广义上理解,数据、信息也是知识的表现形式,但是人们更把概念、规则、模式、规律和约束等看作知识。人们把数据看作是形成知识的源泉,好像从矿石中采矿或淘金一样。原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。

这里所说的知识发现,不是要求发现放之四海而皆准的真理,也不是要去发现崭新的自然科学定理和纯数学公式,更不是什么机器定理证明。实际上,所有发现的知识都是相对的,是有特定前提和约束条件,面向特定领域的,同时还要能够易于被用户理解。最好能用自然语言表达所发现的结果。

数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。

简而言之,数据挖掘其实是一类深层次的数据分析方法。数据分析本身已经有很多年的历史,只不过在过去数据收集和分析的目的是用于科学研究,另外,由于当时计算能力的限制,对大数据量进行分析的复杂数据分析方法受到很大限制。现在,由于各行业业务自动化的实现,商业领域产生了大量的业务数据,这些数据不再是为了分析的目的而收集的,而是由于纯机会的(Opportunistic)商业运作而产生。分析这些数据也不再是单纯为了研究的需要,更主要是为商业决策提供真正有价值的信息,进而获得利润。但所有企业面临的一个共同问题是:企业数据量非常大,而其中真正有价值的信息却很少,因此从大量的数据中经过深层分析,获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样,数据挖掘也因此而得名。

因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。

数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识.数据挖掘所得到的信息应具有先未知,有效和可实用三个特征.

先前未知的信息是指该信息是预先未曾预料到的,既数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值.在商业应用中最典型的例子就是一家连锁店通过数据挖掘发现了小孩尿布和啤酒之间有着惊人的联系.

从数据库中发现知识(KDD)一词首次出现在1989年举行的第十一届国际联合人工智能学术会议上。到目前为止,由美国人工智能协会主办的KDD国际研讨会已经召开了8次,规模由原来的专题讨论会发展到国际学术大会(见表1),研究重点也逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多种学科之间的相互渗透。1999年,亚太地区在北京召开的第三届PAKDD会议收到158篇论文,空前热烈。IEEE的KnowledgeandDataEngineering会刊率先在1993年出版了KDD技术专刊。并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论,甚至到了脍炙人口的程度。

计算机世界从网络时代走向信息时代.files/0002800.jpg"src="./zs20.files/image001.jpg">

与国外相比,国内对DMKD的研究稍晚,没有形成整体力量。1993年国家自然科学基金首次支持我们对该领域的研究项目。目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究,这些单位包括清华大学、中科院计算技术研究所、空军第三研究所、海军装备论证中心等。其中,北京系统工程研究所对模糊方法在知识发现中的应用进行了较深入的研究,北京大学也在开展对数据立方体代数的研究,华中理工大学、复旦大学、浙江大学、中国科技大学、中科院数学研究所、吉林大学等单位开展了对关联规则开采算法的优化和改造;南京大学、四川联合大学和上海交通大学等单位探讨、研究了非结构化数据的知识发现以及Web数据挖掘。

最近,GartnerGroup的一次高级技术调查将数据挖掘和人工智能列为“未来三到五年内将对工业产生深远影响的五大关键技术”之首,并且还将并行处理体系和数据挖掘列为未来五年内投资焦点的十大新兴技术前两位。根据最近Gartner的HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点。”

----随着DMKD研究逐步走向深入,数据挖掘和知识发现的研究已经形成了三根强大的技术支柱:数据库、人工智能和数理统计。因此,KDD大会程序委员会曾经由这三个学科的权威人物同时来任主席。目前DMKD的主要研究内容包括基础理论、发现算法、数据仓库、可视化技术、定性定量互换模型、知识表示方法、发现知识的维护和再利用、半结构化和非结构化数据中的知识发现以及网上数据挖掘等。

----数据挖掘所发现的知识最常见的有以下四类:

----广义知识指类别特征的概括性描述知识。根据数据的微观特性发现其表征的、带有普遍性的、较高层次概念的、中观和宏观的知识,反映同类事物共同性质,是对数据的概括、精炼和抽象。

----它反映一个事件和其他事件之间依赖或关联的知识。如果两项或多项属性之间存在关联,那么其中一项的属性值就可以依据其他属性值进行预测。最为著名的关联规则发现方法是R.Agrawal提出的Apriori算法。关联规则的发现可分为两步。第一步是迭代识别所有的频繁项目集,要求频繁项目集的支持率不低于用户设定的最低值;第二步是从频繁项目集中构造可信度不低于用户设定的最低值的规则。识别或发现所有频繁项目集是关联规则发现算法的核心,也是计算量最大的部分。

----它反映同类事物共同性质的特征型知识和不同事物之间的差异型特征知识。最为典型的分类方法是基于决策树的分类方法。它是从实例集中构造决策树,是一种有指导的学习方法。该方法先根据训练子集(又称为窗口)形成决策树。如果该树不能对所有对象给出正确的分类,那么选择一些例外加入到窗口中,重复该过程一直到形成正确的决策集。最终结果是一棵树,其叶结点是类名,中间结点是带有分枝的属性,该分枝对应该属性的某一可能值。最为典型的决策树学习系统是ID3,它采用自顶向下不回溯策略,能保证找到一个简单的树。算法C4.5和C5.0都是ID3的扩展,它们将分类领域从类别属性扩展到数值型属性。

----数据分类还有统计、粗糙集(RoughSet)等方法。线性回归和线性辨别分析是典型的统计模型。为降低决策树生成代价,人们还提出了一种区间分类器。最近也有人研究使用神经网络方法在数据库中进行分类和规则提取。

----此外,还可以发现其他类型的知识,如偏差型知识(Deviation),它是对差异和极端特例的描述,揭示事物偏离常规的异常现象,如标准类外的特例,数据聚类外的离群值等。所有这些知识都可以在不同的概念层次上被发现,并随着概念层次的提升,从微观到中观、到宏观,以满足不同用户不同层次决策的需要。

数据挖掘通过预测未来趋势及行为,做出前摄的、基于知识的决策。数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要有以下五类功能。

数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。一个典型的例子是市场预测问题,数据挖掘使用过去有关促销的数据来寻找未来投资中回报最大的用户,其它可预测的问题包括预报破产以及认定对指定事件最可能作出反应的群体。

数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。

数据库中的记录可被化分为一系列有意义的子集,即聚类。聚类增强了人们对客观现实的认识,是概念描述和偏差分析的先决条件。聚类技术主要包括传统的模式识别方法和数学分类学。80年代初,Mchalski提出了概念聚类技术牞其要点是,在划分对象时不仅考虑对象之间的距离,还要求划分出的类具有某种内涵描述,从而避免了传统技术的某些片面性。

概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。生成一个类的特征性描述只涉及该类对象中所有对象的共性。生成区别性描述的方法很多,如决策树方法、遗传算法等。

仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。

代表着决策集的树形结构。

基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。

将数据集合中每一个记录进行分类的方法。

从统计意义上对数据中的“如果-那么”规则进行寻找和推导。

采用上述技术的某些专门的分析工具已经发展了大约十年的历史,不过这些工具所面对的数据量通常较小。而现在这些技术已经被直接集成到许多大型的工业标准的数据仓库和联机分析系统中去了。

由于对非线性数据的快速建模能力,基于神经网络的数据挖掘工具现在越来越流行。其开采过程基本上是将数据聚类,然后分类计算权值。神经网络很适合非线性数据和含噪声数据,所以在市场数据库的分析和建模方面应用广泛。

大部分数据挖掘工具采用规则发现或决策树分类技术来发现数据模式和规则,其核心是某种归纳算法。这类工具通常是对数据库的数据进行开采,生产规则和决策树,然后对新数据进行分析和预测。这类工具的主要优点是,规则和决策树都是可读的。

其发现方法是应用模糊逻辑进行数据查询、排序等。该工具使用模糊概念和“最近”搜索技术的数据查询工具,它可以让用户指定目标,然后对数据库进行搜索,找出接近目标的所有记录,并对结果进行评估。

数据挖掘是指一个完整的过程,该过程从大型数据库中挖掘先前未知的,有效的,可实用的信息,并使用这些信息做出决策或丰富知识.

数据挖掘环境可示意如下图:

数据库

可视化工具

数据挖掘工具

数据挖掘环境框图

下图描述了数据挖掘的基本过程和主要步骤

逻辑数据库

被选择的数据据

预处理后的数据

被转换的数据据据

被抽取的信息息

被同化的知识识

选择善而从择择择

预处理

转换

挖掘

分析和同化

数据挖掘过程的步骤

确定业务对象数据准备数据处理结果分析和知识的同化

图3数据挖掘过程工作量比例

过程中各步骤的大体内容如下:

1.确定业务对象

清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步.挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的.

2.数据准备

1)数据的选择

搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据.

2)数据的预处理

研究数据的质量,为进一步的分析作准备.并确定将要进行的挖掘操作的类型.

3)数据的转换

将数据转换成一个分析模型.这个分析模型是针对挖掘算法建立的.建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键.

3.数据挖掘

对所得到的经过转换的数据进行挖掘.除了完善从选择合适的挖掘算法外,其余一切工作都能自动地完成.

4.结果分析

解释并评估结果.其使用的分析方法一般应作数据挖掘操作而定,通常会用到可视化技术.

5.知识的同化

将分析所得到的知识集成到业务信息系统的组织结构中去.

数据挖掘过程的分步实现,不同的步会需要是有不同专长的人员,他们大体可以分为三类.

业务分析人员:要求精通业务,能够解释业务对象,并根据各业务对象确定出用于数据定义和挖掘算法的业务需求.

数据分析人员:精通数据分析技术,并对统计学有较熟练的掌握,有能力把业务需求转化为数据挖掘的各步操作,并为每步操作选择合适的技术.

数据管理人员:精通数据管理技术,并从数据库或数据仓库中收集数据.

----当前,DMKD研究方兴未艾,其研究与开发的总体水平相当于数据库技术在70年代所处的地位,迫切需要类似于关系模式、DBMS系统和SQL查询语言等理论和方法的指导,才能使DMKD的应用得以普遍推广。预计在本世纪,DMKD的研究还会形成更大的高潮,研究焦点可能会集中到以下几个方面:

处理的数据将会涉及到更多的数据类型,这些数据类型或者比较复杂,或者是结构比较独特。为了处理这些复杂的数据,就需要一些新的和更好的分析和建立模型的方法,同时还会涉及到为处理这些复杂或独特数据所做的费时和复杂数据准备的一些工具和软件。

但是,不管怎样,需求牵引与市场推动是永恒的,DMKD将首先满足信息时代用户的急需,大量的基于DMKD的决策支持软件产品将会问世。只有从数据中有效地提取信息,从信息中及时地发现知识,才能为人类的思维决策和战略发展服务。也只有到那时,数据才能够真正成为与物质、能源相媲美的资源,信息时代才会真正到来。

就目前来看,将来的几个热点包括网站的数据挖掘(Websitedatamining)、生物信息或基因(Bioinformatics/genomics)的数据挖掘及其文本的数据挖掘(Textualmining)。下面就这几个方面加以简单介绍。

需求

随着Web技术的发展,各类电子商务网站风起云涌,建立起一个电子商务网站并不困难,困难的是如何让您的电子商务网站有效益。要想有效益就必须吸引客户,增加能带来效益的客户忠诚度。电子商务业务的竞争比传统的业务竞争更加激烈,原因有很多方面,其中一个因素是客户从一个电子商务网站转换到竞争对手那边,只需点击几下鼠标即可。网站的内容和层次、用词、标题、奖励方案、服务等任何一个地方都有可能成为吸引客户、同时也可能成为失去客户的因素。而同时电子商务网站每天都可能有上百万次的在线交易,生成大量的记录文件(Logfiles)和登记表,如何对这些数据进行分析和挖掘,充分了解客户的喜好、购买模式,甚至是客户一时的冲动,设计出满足于不同客户群体需要的个性化网站,进而增加其竞争力,几乎变得势在必行。若想在竞争中生存进而获胜,就要比您的竞争对手更了解客户。

电子商务网站数据挖掘

在对网站进行数据挖掘时,所需要的数据主要来自于两个方面:一方面是客户的背景信息,此部分信息主要来自于客户的登记表;而另外一部分数据主要来自浏览者的点击流(Click-stream),此部分数据主要用于考察客户的行为表现。但有的时候,客户对自己的背景信息十分珍重,不肯把这部分信息填写在登记表上,这就会给数据分析和挖掘带来不便。在这种情况之下,就不得不从浏览者的表现数据中来推测客户的背景信息,进而再加以利用。

就分析和建立模型的技术和算法而言,网站的数据挖掘和原来的数据挖掘差别并不是特别大,很多方法和分析思想都可以运用。所不同的是网站的数据格式有很大一部分来自于点击流,和传统的数据库格式有区别。因而对电子商务网站进行数据挖掘所做的主要工作是数据准备。目前,有很多厂商正在致力于开发专门用于网站挖掘的软件。

生物信息或基因数据挖掘则完全属于另外一个领域,在商业上很难讲有多大的价值,但对于人类却受益非浅。例如,基因的组合千变万化,得某种病的人的基因和正常人的基因到底差别多大?能否找出其中不同的地方,进而对其不同之处加以改变,使之成为正常基因?这都需要数据挖掘技术的支持。

对于生物信息或基因的数据挖掘和通常的数据挖掘相比,无论在数据的复杂程度、数据量还有分析和建立模型的算法而言,都要复杂得多。从分析算法上讲,更需要一些新的和好的算法。现在很多厂商正在致力于这方面的研究。但就技术和软件而言,还远没有达到成熟的地步。

人们很关心的另外一个话题是文本数据挖掘。举个例子,在客户服务中心,把同客户的谈话转化为文本数据,再对这些数据进行挖掘,进而了解客户对服务的满意程度和客户的需求以及客户之间的相互关系等信息。从这个例子可以看出,无论是在数据结构还是在分析处理方法方面,文本数据挖掘和前面谈到的数据挖掘相差很大。文本数据挖掘并不是一件容易的事情,尤其是在分析方法方面,还有很多需要研究的专题。目前市场上有一些类似的软件,但大部分方法只是把文本移来移去,或简单地计算一下某些词汇的出现频率,并没有真正的分析功能。

随着计算机计算能力的发展和业务复杂性的提高,数据的类型会越来越多、越来越复杂,数据挖掘将发挥出越来越大的作用。

Web上有海量的数据信息,怎样对这些数据进行复杂的应用成了现今数据库技术的研究热点。数据挖掘就是从大量的数据中发现隐含的规律性的内容,解决数据的应用质量问题。充分利用有用的数据,废弃虚伪无用的数据,是数据挖掘技术的最重要的应用。相对于Web的数据而言,传统的数据库中的数据结构性很强,即其中的数据为完全结构化的数据,而Web上的数据最大特点就是半结构化。所谓半结构化是相对于完全结构化的传统数据库的数据而言。显然,面向Web的数据挖掘比面向单个数据仓库的数据挖掘要复杂得多。

1.异构数据库环境

从数据库研究的角度出发,Web网站上的信息也可以看作一个数据库,一个更大、更复杂的数据库。Web上的每一个站点就是一个数据源,每个数据源都是异构的,因而每一站点之间的信息和组织都不一样,这就构成了一个巨大的异构数据库环境。如果想要利用这些数据进行数据挖掘,首先,必须要研究站点之间异构数据的集成问题,只有将这些站点的数据都集成起来,提供给用户一个统一的视图,才有可能从巨大的数据资源中获取所需的东西。其次,还要解决Web上的数据查询问题,因为如果所需的数据不能很有效地得到,对这些数据进行分析、集成、处理就无从谈起。

2.半结构化的数据结构

Web上的数据与传统的数据库中的数据不同,传统的数据库都有一定的数据模型,可以根据模型来具体描述特定的数据。而Web上的数据非常复杂,没有特定的模型描述,每一站点的数据都各自独立设计,并且数据本身具有自述性和动态可变性。因而,Web上的数据具有一定的结构性,但因自述层次的存在,从而是一种非完全结构化的数据,这也被称之为半结构化数据。半结构化是Web上数据的最大特点。

3.解决半结构化的数据源问题

Web数据挖掘技术首要解决半结构化数据源模型和半结构化数据模型的查询与集成问题。解决Web上的异构数据的集成与查询问题,就必须要有一个模型来清晰地描述Web上的数据。针对Web上的数据半结构化的特点,寻找一个半结构化的数据模型是解决问题的关键所在。除了要定义一个半结构化数据模型外,还需要一种半结构化模型抽取技术,即自动地从现有数据中抽取半结构化模型的技术。面向Web的数据挖掘必须以半结构化模型和半结构化数据模型抽取技术为前提。

以XML为基础的新一代WWW环境是直接面对Web数据的,不仅可以很好地兼容原有的Web应用,而且可以更好地实现Web中的信息共享与交换。XML可看作一种半结构化的数据模型,可以很容易地将XML的文档描述与关系数据库中的属性一对应起来,实施精确地查询与模型抽取。

1.XML的产生与发展

XML(extensibleMarkupLanguage)是由万维网协会(W3C)设计,特别为Web应用服务的SGML(StandardGeneralMarkupLanguage)的一个重要分支。总的来说,XML是一种中介标示语言(Meta-markupLanguage),可提供描述结构化资料的格式,详细来说,XML是一种类似于HTML,被设计用来描述数据的语言。XML提供了一种独立的运行程序的方法来共享数据,它是用来自动描述信息的一种新的标准语言,它能使计算机通信把Internet的功能由信息传递扩大到人类其他多种多样的活动中去。XML由若干规则组成,这些规则可用于创建标记语言,并能用一种被称作分析程序的简明程序处理所有新创建的标记语言,正如HTML为第一个计算机用户阅读Internet文档提供一种显示方式一样,XML也创建了一种任何人都能读出和写入的世界语。XML解决了HTML不能解决的两个Web问题,即Internet发展速度快而接入速度慢的问题,以及可利用的信息多,但难以找到自己需要的那部分信息的问题。XML能增加结构和语义信息,可使计算机和服务器即时处理多种形式的信息。因此,运用XML的扩展功能不仅能从Web服务器下载大量的信息,还能大大减少网络业务量。

XML中的标志(TAG)是没有预先定义的,使用者必须要自定义需要的标志,XML是能够进行自解释(SelfDescribing)的语言。XML使用DTD(DocumentTypeDefinition文档类型定义)来显示这些数据,XSL(eXtensibleStyleSheetLanguage)是一种来描述这些文档如何显示的机制,它是XML的样式表描述语言。XSL的历史比HTML用的CSS(层叠式样式表CascadingStyleSheets)还要悠久,XSL包括两部分:一个用来转换XML文档的方法;一个用来格式化XML文档的方法。XLL(eXtensibleLinkLanguage)是XML连接语言,它提供XML中的连接,与HTML中的类似,但功能更强大。使用XLL,可以多方向连接,且连接可以存在于对象层级,而不仅仅是页面层级。由于XML能够标记更多的信息,所以它就能使用户很轻松地找到他们需要的信息。利用XML,Web设计人员不仅能创建文字和图形,而且还能构建文档类型定义的多层次、相互依存的系统、数据树、元数据、超链接结构和样式表。

2.XML的主要特点

正是XML的特点决定了其卓越的性能表现。XML作为一种标记语言,有许多特点:

(1)简单。XML经过精心设计,整个规范简单明了,它由若干规则组成,这些规则可用于创建标记语言,并能用一种常常称作分析程序的简明程序处理所有新创建的标记语言。XML能创建一种任何人都能读出和写入的世界语,这种创建世界语的功能叫做统一性功能。如XML创建的标记总是成对出现,以及依靠称作统一代码的新的编码标准。

(2)开放。XML是SGML在市场上有许多成熟的软件可用来帮助编写、管理等,开放式标准XML的基础是经过验证的标准技术,并针对网络做最佳化。众多业界顶尖公司,与W3C的工作群组并肩合作,协助确保交互作业性,支持各式系统和浏览器上的开发人员、作者和使用者,以及改进XML标准。XML解释器可以使用编程的方法来载入一个XML的文档,当这个文档被载入以后,用户就可以通过XML文件对象模型来获取和操纵整个文档的信息,加快了网络运行速度。

(4)国际化。标准国际化,且支持世界上大多数文字。这源于依靠它的统一代码的新的编码标准,这种编码标准支持世界上所有以主要语言编写的混合文本。在HTML中,就大多数字处理而言,一个文档一般是用一种特殊语言写成的,不管是英语,还是日语或阿拉伯语,如果用户的软件不能阅读特殊语言的字符,那么他就不能使用该文档。但是能阅读XML语言的软件就能顺利处理这些不同语言字符的任意组合。因此,XML不仅能在不同的计算机系统之间交换信息,而且能跨国界和超越不同文化疆界交换信息。

3.XML在Web数据挖掘中的应用

XML已经成为正式的规范,开发人员能够用XML的格式标记和交换数据。XML在三层架构上为数据处理提供了很好的方法。使用可升级的三层模型,XML可以从存在的数据中产生出来,使用XML结构化的数据可以从商业规范和表现形式中分离出来。

促进XML应用的是那些用标准的HTML无法完成的Web应用。这些应用从大的方面讲可以被分成以下四类:需要Web客户端在两个或更多异质数据库之间进行通信的应用;试图将大部分处理负载从Web服务器转到Web客户端的应用;需要Web客户端将同样的数据以不同的浏览形式提供给不同的用户的应用;需要智能Web代理根据个人用户的需要裁减信息内容的应用。显而易见,这些应用和Web的数据挖掘技术有着重要的联系,基于Web的数据挖掘必须依靠它们来实现。

XML应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。如按传统的“Client/Server”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。

需要强调的是,数据挖掘技术从一开始就是面向应用的。目前,在很多领域,数据挖掘(datamining)都是一个很时髦的词,尤其是在如银行、电信、保险、交通、零售(如超级市场)等商业领域。数据挖掘所能解决的典型商业问题包括:数据库营销(DatabaseMarketing)、客户群体划分(CustomerSegmentation&Classification)、背景分析(ProfileAnalysis)、交叉销售(Cross-selling)等市场分析行为,以及客户流失性分析(ChurnAnalysis)、客户信用记分(CreditScoring)、欺诈发现(FraudDetection)等等。

数据挖掘技术在企业市场营销中得到了比较普遍的应用,它是以市场营销学的市场细分原理为基础,其基本假定是“消费者过去的行为是其今后消费倾向的最好说明”。通过收集、加工和处理涉及消费者消费行为的大量信息,确定特定消费群体或个体的兴趣、消费习惯、消费倾向和消费需求,进而推断出相应消费群体或个体下一步的消费行为,然后以此为基础,对所识别出来的消费群体进行特定内容的定向营销,这与传统的不区分消费者对象特征的大规模营销手段相比,大大节省了营销成本,提高了营销效果,从而为企业带来更多的利润。

2竞技运动中的数据挖掘

美国著名的国家篮球队NBA的教练,利用IBM公司提供的数据挖掘工具临场决定替换队员。想象你是NBA的教练,你靠什么带领你的球队取得胜利呢?当然,最容易想到的是全场紧逼、交叉扯动和快速抢断等具体的战术和技术。但是今天,NBA的教练又有了他们的新式武器:数据挖掘。大约20个NBA球队使用了IBM公司开发的数据挖掘应用软件AdvancedScout系统来优化他们的战术组合。例如Scout就因为研究了魔术队队员不同的布阵安排,在与迈阿密热队的比赛中找到了获胜的机会。

----系统分析显示魔术队先发阵容中的两个后卫安佛尼.哈德卫(AnferneeHardaway)和伯兰.绍(BrianShaw)在前两场中被评为-17分,这意味着他俩在场上,本队输掉的分数比得到的分数多17分。然而,当哈德卫与替补后卫达利尔.阿姆斯创(DarrellArmstrong)组合时,魔术队得分为正14分。

----AdvancedScout的开发人,因德帕尔.布罕德瑞,开发该应用时他正在IBM的ThomasJ.Watson研究中心当研究员,他演示了一个技术新手应该如何使用数据挖掘。布罕德瑞说:“教练们可以完全没有统计学的培训,但他们可以利用数据挖掘制定策略”。与此同时,另一个正式的体育联盟,国家曲棍球联盟,正在开发自己的数据挖掘应用NHL-ICE,联盟与IBM建立了一个技术型的合资公司,去年11月推出一个电子实时的比赛计分和统计系统。在原理上是一个与AdvancedScout相似的数据挖掘应用,可以让教练、广播员、新闻记者及球迷挖掘NHL的统计。当他们访问NHL的Web站点时,球迷能够使用该系统循环看联盟的比赛,同时广播员和新闻记者可以挖掘统计数据,找花边新闻为他们的实况评述添油加醋。

----当然,所有系统都有其局限性。所以不要期望这样的数据挖掘可以帮助一支球队找到赢得足球世界杯的策略。

3数据挖掘技术在商业银行中的应用

金融事务需要搜集和处理大量的数据,由于银行在金融领域的地位、工作性质、业务特点以及激烈的市场竞争决定了它对信息化、电子化比其它领域有更迫切的要求。利用数据挖掘技术可以帮助银行产品开发部门描述客户以往的需求趋势,并预测未来。美国商业银行是发达国家商业银行的典范,许多地方值得我国学习和借鉴。

美国Firstar银行使用Marksman数据挖掘工具,根据客户的消费模式预测何时为客户提供何种产品。Firstar银行市场调查和数据库营销部经理发现:公共数据库中存储着关于每位消费者的大量信息,关键是要透彻分析消费者投入到新产品中的原因,在数据库中找到一种模式,从而能够为每种新产品找到最合适的消费者。Marksman能读取800到1000个变量并且给它们赋值,根据消费者是否有家庭财产贷款、赊帐卡、存款证或其它储蓄、投资产品,将它们分成若干组,然后使用数据挖掘工具预测何时向每位消费者提供哪种产品。预测准客户的需要是美国商业银行的竞争优势。

4因特网筛选

最近,还有不少DMKD产品用来筛选因特网上的新闻,保护用户不受无聊电子邮件和商业推销的干扰,很受欢迎。

谈到数据挖掘应从以下三方面加以考虑,一是用数据挖掘解决什么样的商业问题,二是为进行数据挖掘所做的数据准备,三是数据挖掘的各种分析算法。

数据挖掘的分析算法主要来自于以下两个方面:统计分析和人工智能(机器学习、模式识别等)。数据挖掘研究人员和数据挖掘软件供应商,在这一方面所做的主要工作是优化现有的一些算法,以适应大数据量。另外需要强调的是,任何一种数据挖掘的算法,不管是统计分析方法、神经元网络、各种树分析方法,还是遗传算法,没有一种算法是万能的。不同的商业问题,需要用不同的方法去解决。即使对于同一个商业问题,可能有多种算法,这个时候,也需要评估对于这一特定问题和特定数据哪一种算法表现好。

众所周知,SQL是广泛用于数据库查询的语言,有很多数据挖掘软件提供商利用SQL来为数据挖掘做数据准备,但就笔者多年来的分析经验和同其他专家探讨感觉到,SQL在很多时候有些力不从心,因为数据挖掘和分析的一些算法通常要求数据具有一定的格式和规范性。

还需要强调的一点是,人们通常把数据挖掘工具看得过份神秘,认为只要有了一个数据挖掘工具,就能自动挖掘出所需要的信息,就能更好地进行企业运作,这是认识上的一个误区。其实要想真正做好数据挖掘,数据挖掘工具只是其中的一个方面,同时还需要对企业业务的深入了解和数据分析经验。一个企业要想在未来的市场中具有竞争力,必须有一些数据挖掘方面的专家,专门从事数据分析和数据挖掘工作。再同其他部门协调,把挖掘出来的信息供管理者决策参考,最后把挖掘出的知识物化。在国内的企业中,还很少有决策人员认识到这一点。如果管理者没有这方面的意识,数据挖掘和数据分析就很难发挥应有的作用,很容易走向两个极端,一是认为数据挖掘没有用处,二是开始认为数据挖掘是万能的。如此得到的结果往往与初始期望相去太远。

1.超大规模数据库和高维数据问题;

2.数据丢失问题;

3.变化的数据和知识问题;

4.模式的易懂性问题;

5.非标准格式的数据、多媒体数据、面向对象数据处理问题;

THE END
1.数据挖掘概念(AnalysisServices有关如何将 SQL Server 工具应用于业务方案的示例,请参阅数据挖掘基础教程。 定义问题 与以下关系图的突出显示相同,数据挖掘过程的第一步就是明确定义业务问题,并考虑解答该问题的方法。 该步骤包括分析业务需求,定义问题的范围,定义计算模型所使用的度量,以及定义数据挖掘项目的特定目标。这些任务转换为下列问题: https://technet.microsoft.com/zh-cn/library/ms174949(en-us,sql.105).aspx
2.数据挖掘概念流程算法与工具全解析数据挖掘工具简介Weka:一套用于数据挖掘和机器学习的开源软件工具,提供了各种分类、聚类、关联规则等算法实现,以及数据预处理、特征选择和评估模型性能的工具。 数据挖掘流程实例 以下是一个完整的数据挖掘流程实例,包括数据收集、数据预处理、数据建模、模型评估、结果解释和知识部署等步骤: https://blog.csdn.net/Echo_3wdiankang/article/details/143492282
3.数据挖掘入门资料和步骤听说读写数据如果你想要下载一些数据,这个网站可能会帮你 cos.name这边有一些业界案例的ppt下载(年会那些),还有一些基本资料 数据挖掘工作中可能涉及到的技能和工具: 业务知识 数据清理和准备 (例如说sql server) 建模和分析工具 (例如说R, Weka) 算法和方案 Demo (PPT) https://www.cnblogs.com/PurpleTide/p/3769748.html
4.数据挖掘技术在客户关系管理中如何应用3.选择合适的数据挖掘工具 如果从上一步的分析中发现,所要解决的问题能用数据挖掘比较好地完成,那么需要做的第三步就是选择合适的数据挖掘技术与方法。将所要解决的问题转化成一系列数据挖掘的任务。数据挖掘主要有五种任务:分类,估值预测,关联规则,聚集,描述。前三种属于直接的数据挖掘。在直接数据挖掘中,目标是应https://www.wenshubang.com/xingzhengguanlibiyelunwen/151599.html
5.深度学习数据挖掘的关系mob64ca12f66e6c的技术博客1. 流程步骤 以下是实现深度学习与数据挖掘关系的基本流程: 2. 每一步的具体实现 2.1 数据收集 对于数据收集,我们利用Python中的pandas库读取数据集。例如: importpandasaspd# 从CSV文件中读取数据data=pd.read_csv('data.csv')# 查看数据的前5行print(data.head())# 输出数据的前五行,以了解数据结构 https://blog.51cto.com/u_16213457/12827856
6.数据挖掘的六个阶段是什么帆软数字化转型知识库数据挖掘的六个阶段包括:数据准备、数据清洗、数据转换、数据挖掘、模式识别、结果评估。 数据准备是数据挖掘过程的第一步,这一步骤的主要目的是获取和整理数据源,使其适合后续的处理和分析。具体来说,数据准备包括收集数据、选择数据、合并数据和初步整理数据。通过数https://www.fanruan.com/blog/article/594221/
7.常见的21种数据挖掘工具数据挖掘(Data mining)是通过智能的方法,从数据中提取实用信息,对数据予以解释,发现数据的模式与关系,以及预测趋势和行为的过程。该过程往往会涉及到诸如:数据清理、机器学习、人工智能、数据分析、数据库系统、以及回归、聚类等信息统计技术。显然,数据集越大、越复杂,我们就能够越轻松地通过自动化分析工具,越快地找到https://www.jianshu.com/p/5d1a95fdf77f
8.数据分析中的数据挖掘需要哪些工具数据分析中的数据挖掘需要以下工具:一、数据库管理工具;二、ETL工具;三、数据可视化工具;四、统计分析工具;五、机器学习工具;六、自然语言处理工具;七、大数据处理工具;八、Web爬虫工具;九、时间序列分析工具;十、图像处理工具;十一、数据挖掘工具。 一、数据库管理工具 https://www.linkflowtech.com/news/1596
9.什么是数据挖掘和KDD·MachineLearningMastery博客文章翻译在这篇文章中,您了解到数据挖掘是从数据中发现模式。您了解到,这是一个由许多步骤组成的过程,包括数据准备,算法运行和结果表示。 您了解到机器学习是数据挖掘中使用的工具,数据挖掘实际上是数据库或KDD中知识发现过程中的一个步骤,并且它已经成为术语的同义词,因为它更容易说。 https://www.kancloud.cn/apachecn/ml-mastery-zh/1951996
10.湖南省统计局NCR Teradata的数据挖掘工具同样也是与其数据仓库整合在一起。具体来说,其数据挖掘工具可以按照挖掘的步骤主要分成Profiler、ADS Generator、Warehouse Miner和模型管理器四块。目前Teradata最新版的数据挖掘方案是Teradata Warehouse Miner 4.1。 ? SAS 公司和SPSS公司作为两家从传统的统计分析技术发展而来的数据挖掘厂商,二http://tjj.hunan.gov.cn/hntj/bsfw/tjkp/tjsh/201507/t20150717_3825196.html
11.数据挖掘知识总结(精选8篇)4、数据库管理系统主要功能:数据定义功能、数据组织存储和管理、数据操纵功能、数据库的事务管理和运行管理、数据库的建立和维护功能、其他。 5、数据库系统:是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 https://www.360wenmi.com/f/filep4ahaz92.html
12.(精品)实用的项目计划12篇该步骤确定各项目活动所需要的时间、人力、物力,明确各项活动之间的先后逻辑关系,通常通过网络图工具来完成。 完成以上4个步骤后,项目经理还可以为项目计划添加一些支持性文档以及备注等信息,所有这些信息将使得项目计划成为项目的信息中心。 二、制定项目计划的原则 https://www.ruiwen.com/jihua/8018843.html
13.常见的21种数据挖掘工具数据挖掘,这一过程通过智能方法从数据中提取实用信息,解析数据模式与关系,预测趋势和行为,是实现决策优化、目标实现的关键步骤。数据挖掘通常包括数据清理、机器学习、人工智能、数据分析、数据库系统、以及回归、聚类等信息统计技术,尤其是数据集越大、越复杂,自动化分析工具的作用就越显著。数据挖掘的https://zhidao.baidu.com/question/948731360096162372.html
14.大数据分析工具PowerBI(十七):制作过程分析和原因分析图表过程分析主要分析业务流程中每一步骤的变化情况,用于分析业务流程指标数据变化、拆分业务流程、拆分关键业务指标等等。可以使用漏斗图、瀑布图来展示过程分析数据。 1、漏斗图 漏斗图常用来展示业务过程的线性变化,分析业务流程的转换情况。需求:绘制漏斗图展示"电商平台用户支付数据"中用户支付情况。 https://cloud.tencent.com/developer/article/2353978
15.企业审计中内部控制测评数据自动分析方法摘要:在企业审计中,对企业内部控制进行测试和评价是审计的基本步骤之一,基于内部控制测评的结果,决定审计实质性测试的范围和重点。中央企业审计数据规划中针对企业内部控制设计了14张测评表,涉及企业内部控制环境、信息系统、主要业务循环的内部控制测评。本文针对这14张测评表,提出了一种Excel文档搜索分析工具自动分析方法https://www.ciia.com.cn/cndetail.html?id=25406
16.数据挖掘岗位要求掌握哪些技能和工具?Apache Spark:Apache Spark是一个分布式计算框架,提供了强大的数据处理和分析功能。它适用于处理大规模数据集,并且支持多种编程语言,如Java、Scala和Python。 在应用上述技能和工具时,数据挖掘工程师通常需要按照以下步骤进行工作: 理解业务需求:与相关部门或客户沟通,了解他们的业务需求以及期望从数据中挖掘出的信息。 https://www.cda.cn/view/204565.html