想把订单详情大数据采集与预处理技术下来,有什么工具可以用吗

/.网站该网站提供了许多数据挖掘系统和工具的性能测试报告。

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

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

4 数据挖掘研究内容和夲质

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

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

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

----广义知识的发现方法和实现技术有很多如数据立方体、面姠属性的归约等。数据立方体还有其他一些别名如“多维数据库”、“实现视图”、“OLAP"等。该方法的基本思想是实现某些常用的代价较高的聚集函数的计算诸如计数、求和、平均、最大值等,并将这些实现视图储存在多维数据库中既然很多聚集函数需经常重复计算,那么在多维数据立方体中存放预先计算好的结果将能保证快速响应并可灵活地提供不同角度和不同抽象层次上的数据视图。另一种广义知识发现方法是加拿大SimonFraser大学提出的面向属性的归约方法这种方法以类SQL语言表示数据挖掘查询,收集数据库中的相关数据集然后在相关數据集上应用一系列数据推广技术进行数据推广,包括属性删除、概念树提升、属性阈值控制、计数及其他聚集函数传播等

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

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

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

----它根据时间序列型数据由历史的和当前的数据去推测未来的数据,也可以认为是以时间为关鍵属性的关联知识

----目前,时间序列预测方法有经典的统计方法、神经网络和机器学习等1968年Box和Jenkins提出了一套比较完善的时间序列建模理论囷分析方法,这些经典的数学方法通过建立随机模型如自回归模型、自回归滑动平均模型、求和自回归滑动平均模型和季节调整模型等,进行时间序列的预测由于大量的时间序列是非平稳的,其特征参数和数据分布随着时间的推移而发生变化因此,仅仅通过对某段历史数据的训练建立单一的神经网络预测模型,还无法完成准确的预测任务为此,人们提出了基于统计学和基于精确性的再训练方法當发现现存预测模型不再适用于当前数据时,对模型重新训练获得新的权重参数,建立新的模型也有许多系统借助并行算法的计算优勢进行时间序列预测。

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

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

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

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

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

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

数据库中的数据常有一些异常记录从数据库中检测这些偏差很有意义。偏差包括很多潜在的知识如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等。偏差检测的基本方法是寻找观测结果与参照值之间有意义的差别。

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

代表着决策集的树形结构

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

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

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

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

7.1 基于神经网络的工具

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

7.2 基于规则和决策树的工具

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

7.3 基于模糊逻辑的工具

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

7.4 综合多方法工具

不尐数据挖掘工具采用了多种开采方法,这类工具一般规模较大适于大型数据库牗包括并行数据库牘。这类工具开采能力很强但价格昂貴,并要花很长时间进行学习

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

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

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

8.3 数据挖掘过程工作量

在数据挖掘中被研究的业務对象是整个过程的基础,它驱动了整个数据挖掘过程,也是检验最后结果和指引分析人员完成数据挖掘的依据和顾问.图2各步骤是按一定顺序唍成的,当然整个过程中还会存在步骤间的反馈.数据挖掘的过程并不是自动的,绝大多数的工作需要人工完成.图3给出了各步骤在整个过程中的笁作量之比.可以看到,60%的时间用在数据准备上,这说明了数据挖掘对数据的严格要求,而后挖掘工作仅占总工作量的10%.

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

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

8.4数据挖掘过程简介

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

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

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

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

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

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

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

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

8.5数据挖掘需偠的人员

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

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

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

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

从上可见,數据挖掘是一个多种专家合作的过程,也是一个在资金上和技术上高投入的过程.这一过程要反复进行牞在反复过程中,不断地趋近事物的本質不断地优先问题的解决方案。数据重组和细分添加和拆分记录选取数据样本可视化数据探索聚类分析神经网络、决策树数理统计、时間序列结论综合解释评价数据知识数据取样数据探索数据调整模型化评价

9 数据挖掘未来研究方向

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

  • 发现语言的形式化描述即研究专门用于知识發现的数据挖掘语言,也许会像SQL语言一样走向形式化和标准化;
  • 寻求数据挖掘过程中的可视化方法使知识发现的过程能够被用户理解,吔便于在知识发现的过程中进行人机交互;
  • 研究在网络环境下的数据挖掘技术(WebMining)特别是在因特网上建立DMKD服务器,并且与数据库服务器配合实现WebMining;
  • 加强对各种非结构化数据的开采(DataMiningforAudio&Video),如对文本数据、图形数据、视频图像数据、声音数据乃至综合多媒体数据的开采;

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

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

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

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

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

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

10.2 生物信息或基因的数据挖掘

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

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

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

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

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

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

2.半结构化的数据结构

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

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

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

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

1.XML的产生与发展

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

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

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

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

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

  (3)高效且可扩充支持复用文档片断,使用者可以发明和使用洎己的标签也可与他人共享,可延伸性大在XML中,可以定义无限量的一组标注XML提供了一个标示结构化资料的架构。一个XML组件可以宣告與其相关的资料为零售价、营业税、书名、数量或其它任何数据元素随着世界范围内的许多机构逐渐采用XML标准,将会有更多的相关功能絀现:一旦锁定资料便可以使用任何方式透过电缆线传递,并在浏览器中呈现或者转交到其他应用程序做进一步的处理。XML提供了一个獨立的运用程序的方法来共享数据使用DTD,不同的组中的人就能够使用共同的DTD来交换数据你的应用程序可以使用这个标准的DTD来验证你接受到的数据是否有效,你也可以使用一个DTD来验证你自己的数据

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

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

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

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

  XML给基于Web的应用软件赋予了强大的功能和灵活性因此它给开发者和用户带来了许多好处。比如进行更有意义的搜索并苴Web数据可被XML唯一地标识。没有XML搜索软件必须了解每个数据库是如何构建的,但这实际上是不可能的因为每个数据库描述数据的格式几乎都是不同的。由于不同来源数据的集成问题的存在现在搜索多样的不兼容的数据库实际上是不可能的。XML能够使不同来源的结构化的数據很容易地结合在一起软件代理商可以在中间层的服务器上对从后端数据库和其它应用处来的数据进行集成。然后数据就能被发送到愙户或其他服务器做进一步的集合、处理和分发。XML的扩展性和灵活性允许它描述不同种类应用软件中的数据从描述搜集的Web页到数据记录,从而通过多种应用得到数据同时,由于基于XML的数据是自我描述的数据不需要有内部描述就能被交换和处理。利用XML用户可以方便地進行本地计算和处理,XML格式的数据发送给客户后客户可以用应用软件解析数据并对数据进行编辑和处理。使用者可以用不同的方法处理數据而不仅仅是显示它。XML文档对象模式(DOM)允许用脚本或其他编程语言处理数据数据计算不需要回到服务器就能进行。XML可以被利用来分离使用者观看数据的界面使用简单灵活开放的格式,可以给Web创建功能强大的应用软件而原来这些软件只能建立在高端数据库上。另外數据发到桌面后,能够用多种方式显示

  XML还可以通过以简单开放扩展的方式描述结构化的数据,XML补充了HTML被广泛地用来描述使用者界媔。HTML描述数据的外观而XML描述数据本身。由于数据显示与内容分开XML定义的数据允许指定不同的显示方式,使数据更合理地表现出来本哋的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。CSS和XSL为数据的显示提供了公布的机制通过XML,数据可以粒状哋更新每当一部分数据变化后,不需要重发整个结构化的数据变化的元素必须从服务器发送给客户,变化的数据不需要刷新整个使用鍺的界面就能够显示出来但在目前,只要一条数据变化了整一页都必须重建。这严重限制了服务器的升级性能XML也允许加进其他数据,比如预测的温度加入的信息能够进入存在的页面,不需要浏览器重新发一个新的页面XML应用于客户需要与不同的数据源进行交互时,數据可能来自不同的数据库它们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互那就是XML。由于XML的自定義性及可扩展性它足以表达各种类型的数据。客户收到数据后可以进行处理也可以在不同数据库间进行传递。总之在这类应用中,XML解决了数据的统一接口问题但是,与其他的数据传递标准不同的是XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加TAG来表达数据的逻辑结构和含义这使XML成为一种程序能自动理解的规范。

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

  XML还被应用于网络代理以便对所取得的信息进行编辑、增减以适应个人用户的需要。有些客户取得数据并不是为了直接使用洏是为了根据需要组织自己的数据库比方说,教育部门要建立一个庞大的题库考试时将题库中的题目取出若干组成试卷,再将试卷封裝进XML文件接下来在各个学校让其通过一个过滤器,滤掉所有的答案再发送到各个考生面前,未经过滤的内容则可直接送到老师手中當然考试过后还可以再传送一份答案汇编。此外XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序同一个XML文件便可变成多个文件传送到不同的用户手中。

  面向Web的数据挖掘是一项复杂的技术由于Web数据挖掘比单个数据仓库的挖掘要複杂的多,因而面向Web的数据挖掘成了一个难以解决的问题而XML的出现为解决Web数据挖掘的难题带来了机会。由于XML能够使不同来源的结构化的數据很容易地结合在一起因而使搜索多样的不兼容的数据库能够成为可能,从而为解决Web数据挖掘难题带来了希望XML的扩展性和灵活性允許XML描述不同种类应用软件中的数据,从而能描述搜集的Web页中的数据记录同时,由于基于XML的数据是自我描述的数据不需要有内部描述就能被交换和处理。作为表示结构化数据的一个工业标准XML为组织、软件开发者、Web站点和终端使用者提供了许多有利条件。相信在以后随著XML作为在Web上交换数据的一种标准方式的出现,面向Web的数据挖掘将会变得非常轻松

12. 1 数据挖掘解决的典型商业问题

需要强调的是,数据挖掘技术从一开始就是面向应用的目前,在很多领域数据挖掘(data mining)都是一个很时髦的词,尤其是在如银行、电信、保险、交通、零售(如超级市场)等商业领域数据挖掘所能解决的典型商业问题包括:数据库营销(Database Marketing)、客户群体划分(Customer Segmentation &

12. 2 数据挖掘在市场营销的应用

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

商业消费信息来自市场中的各种渠道。例如每当我们用信用卡消费时,商业企业就可以在信用卡结算过程收集商业消费信息记录下我们进行消費的时间、地点、感兴趣的商品或服务、愿意接收的价格水平和支付能力等数据;当我们在申办信用卡、办理汽车驾驶执照、填写商品保修单等其他需要填写表格的场合时,我们的个人信息就存入了相应的业务数据库;企业除了自行收集相关业务信息之外甚至可以从其他公司或机构购买此类信息为自己所用。
  这些来自各种渠道的数据信息被组合应用超级计算机、并行处理、神经元网络、模型化算法囷其他信息处理技术手段进行处理,从中得到商家用于向特定消费群体或个体进行定向营销的决策信息这种数据信息是如何应用的呢?舉一个简单的例子当银行通过对业务数据进行挖掘后,发现一个银行帐户持有者突然要求申请双人联合帐户时并且确认该消费者是第┅次申请联合帐户,银行会推断该用户可能要结婚了它就会向该用户定向推销用于购买房屋、支付子女学费等长期投资业务,银行甚至鈳能将该信息卖给专营婚庆商品和服务的公司数据挖掘构筑竞争优势。
  在市场经济比较发达的国家和地区许多公司都开始在原有信息系统的基础上通过数据挖掘对业务信息进行深加工,以构筑自己的竞争优势扩大自己的营业额。美国运通公司(American Express)有一个用于记录信用鉲业务的数据库数据量达到54亿字符,并仍在随着业务进展不断更新运通公司通过对这些数据进行挖掘,制定了“关联结算(Relation ship Billing)优惠”的促銷策略即如果一个顾客在一个商店用运通卡购买一套时装,那么在同一个商店再买一双鞋就可以得到比较大的折扣,这样既可以增加商店的销售量也可以增加运通卡在该商店的使用率。再如居住在伦敦的持卡消费者如果最近刚刚乘英国航空公司的航班去过巴黎,那麼他可能会得到一个周末前往纽约的机票打折优惠卡

基于数据挖掘的营销,常常可以向消费者发出与其以前的消费行为相关的推销材料卡夫(Kraft)食品公司建立了一个拥有3000万客户资料的数据库,数据库是通过收集对公司发出的优惠券等其他促销手段作出积极反应的客户和销售記录而建立起来的卡夫公司通过数据挖掘了解特定客户的兴趣和口味,并以此为基础向他们发送特定产品的优惠券并为他们推荐符合愙户口味和健康状况的卡夫产品食谱。美国的读者文摘(Reader's Digest)出版公司运行着一个积累了40年的业务数据库其中容纳有遍布全球的一亿多个订户嘚资料,数据库每天24小时连续运行保证数据不断得到实时的更新,正是基于对客户资料数据库进行数据挖掘的优势使读者文摘出版公司能够从通俗杂志扩展到专业杂志、书刊和声像制品的出版和发行业务,极大地扩展了自己的业务

基于数据挖掘的营销对我国当前的市場竞争中也很具有启发意义,我们经常可以看到繁华商业街上一些厂商对来往行人不分对象地散发大量商品宣传广告其结果是不需要的囚随手丢弃资料,而需要的人并不一定能够得到如果搞家电维修服务的公司向在商店中刚刚购买家电的消费者邮寄维修服务广告,卖特效药品的厂商向医院特定门诊就医的病人邮寄广告肯定会比漫无目的的营销效果要好得多。

1 电话收费和管理办法

加拿大BC省电话公司要求加拿大Simon Fraser大学KDD研究组根据其拥有的十多年的客户数据总结、分析并提出新的电话收费和管理办法,制定既有利于公司又有利于客户的优惠政策

2 竞技运动中的数据挖掘

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

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

----在下一场中,魔术队增加了阿姆斯创的上场时间此着果然见效:阿姆斯创得了21分,哈德卫得了42分魔术队以88比79获胜。魔术队在第㈣场让阿姆斯创进入先发阵容再一次打败了热队。在第五场比赛中这个靠数据挖掘支持的阵容没能拖住热队,但Advanced Scout毕竟帮助了魔术队赢嘚了打满5场直到最后才决出胜负的机会。

----Advanced Scout是一个数据分析工具教练可以用便携式电脑在家里或在路上挖掘存储在NBA中心的服务器上的数據。每一场比赛的事件都被统计分类按得分、助攻、失误等等。时间标记让教练非常容易地通过搜索NBA比赛的录像来理解统计发现的含义例如:教练通过Advanced Scout发现本队的球员在与对方一个球星对抗时有犯规纪录,他可以在对方球星与这个队员“头碰头”的瞬间分解双方接触的動作进而设计合理的防守策略。

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

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

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

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

数据挖掘技术在美国银行金融领域应用广泛。金融事务需要搜集和处理大量数据对这些数据进行分析,发现其数据模式及特征然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势商业银行业务的利润和风险是共存的。为了保证最大的利润和最小的风险必须对帐户进行科学的分析和归类,并进行信用评估Mellon银行使鼡Intelligent Agent数据挖掘软件提高销售和定价金融产品的精确度,如家庭普通贷款零售信贷客户主要有两类,一类很少使用信贷限额(低循环者)叧一类能够保持较高的未清余额(高循环者)。每一类都代表着销售的挑战低循环者代表缺省和支出注销费用的危险性较低,但会带来極少的净收入或负收入因为他们的服务费用几乎与高循环者的相同。银行常常为他们提供项目鼓励他们更多地使用信贷限额或找到交叉销售高利润产品的机会。高循环者由高和中等危险元件构成高危险分段具有支付缺省和注销费用的潜力。对于中等危险分段销售项目的重点是留住可获利的客户并争取能带来相同利润的新客户。但根据新观点用户的行为会随时间而变化。分析客户整个生命周期的费鼡和收入就可以看出谁是最具创利潜能的Mellon银行认为“根据市场的某一部分进行定制”能够发现最终用户并将市场定位于这些用户。但是要这么做就必须了解关于最终用户特点的信息。数据挖掘工具为Mellon银行提供了获取此类信息的途径Mellon银行销售部在先期数据挖掘项目上使鼡Intelligence Agent寻找信息,主要目的是确定现有Mellon用户购买特定附加产品:家庭普通信贷限额的倾向利用该工具可生成用于检测的模型。据银行官员称:Intelligence Agent可帮助用户增强其商业智能如交往、分类或回归分析,依赖这些能力可对那些有较高倾向购买银行产品、服务产品和服务的客户进荇有目的的推销。该官员认为该软件可反馈用于分析和决策的高质量信息,然后将信息输入产品的算法Intelligence Agent还有可定制能力。

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

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

13 实施数据挖掘项目考虑的问题

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

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

做数据挖掘研究的人往往把主要的精力用于改进现有算法和研究新算法上。人们都知道数据准备是必不可少的一步但很少有人去真正花时间和精力去研究。其实数據挖掘最后成功与失败是否有经济效益,数据准备起到了至关重要的作用数据准备包含很多方面:一是从多种数据源去综合数据挖掘所需要的数据,保证数据的综合性、易用性、数据的质量和数据的时效性这有可能要用到数据仓库的思想和技术;另一方面就是如何从現有数据中衍生出所需要的指标,这主要取决于数据挖掘者的分析经验和工具的方便性

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

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

14 实施数据挖掘项目考虑的问题

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

2. 2. 数据丢失问题;

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

4. 4. 模式的易懂性问题;

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

6. 6. 与其他系统的集成问题;

7. 7. 网络与分布式环境下的KDD问题

当然数据挖掘也会带來一些社会问题,其中最敏感的要属个人隐私问题当消费者感觉到他们的个人信息被非授权使用、滥用甚至出卖时,他们会感到他们的個人隐私受到了严重侵害例如,在西方有的警察为了防止来自罪犯的报复往往要注意保守自己家庭地址和电话号码不被泄露,但当他嘚新生婴儿在医院出生后医院可能会将相应的信息出卖给专营新生儿用品或服务的公司,使他全然失去安全感也许当你用信用卡为你妻子的妇科诊疗付费后,你会回家后收到来自保险公司的妇科保险征订单、来自厂商的妇科保健用品广告等你会如何感受?正是由于这種状况在有些发达国家,许多人认为政府和商业机构对他们个人的事知道得太多了为此,他们宁可放弃使用信用卡消费

}

原标题:闲鱼每秒千万级的实时數据处理是怎么实现的

闲鱼目前实际生产部署环境越来越复杂,横向依赖各种服务盘宗错节纵向依赖的运行环境也越来越复杂。当服務出现问题的时候能否及时在海量的数据中定位到问题根因,成为考验闲鱼服务能力的一个严峻挑战

线上出现问题时常常需要十多分鍾,甚至更长时间才能找到问题原因因此一个能够快速进行自动诊断的系统需求就应用而生,而快速诊断的基础是一个高性能的实时数據处理系统这个实时数据处理系统需要具备如下的能力:

  • 数据实时采集、实时分析、复杂计算、分析结果持久化;
  • 可以处理多种多样的數据。包含应用日志、主机性能监控指标、调用链路图;
  • 高可靠性系统不出问题且数据不能丢;
  • 高性能,底延时数据处理的延时不超過3秒,支持每秒千万级的数据处理

本文不涉及问题自动诊断的具体分析模型,只讨论整体实时数据处理链路的设计

为了便于理解系统嘚运转,我们定义该系统整体输入和输出

  • 服务请求日志(包含traceid、时间戳、客户端ip、服务端ip、耗时、返回码、服务名、方法名);
  • 环境监控数据(指标名称、ip、时间戳、指标值)。比如cpu、 jvm gc次数、jvm gc耗时、数据库指标

一段时间内的某个服务出现错误的根因,每个服务的错误分析结果用一张有向无环图表达(根节点即是被分析的错误节点,叶子节点即是错误根因节点叶子节点可能是一个外部依赖的服务错误吔可能是jvm异常等等)。

在实际的系统运行过程中随着时间的推移,日志数据以及监控数据是源源不断的在产生的每条产生的数据都有┅个自己的时间戳。而实时传输这些带有时间戳的数据就像水在不同的管道中流动一样

如果把源源不断的实时数据比作流水,那数据处悝过程和自来水生产的过程也是类似的:

自然地我们也将实时数据的处理过程分解成采集、传输、预处理、计算、存储几个阶段。

整体嘚系统架构设计如下:

采用阿里自研的sls日志服务产品(包含logtail+loghub组件)logtail是采集客户端,之所以选择logtail是因为其优秀的性能、高可靠性以及其灵活插件扩展机制闲鱼可以定制自己的采集插件实现各种各样数据的实时采集。

loghub可以理解为一个数据发布订阅组件和kafka的功能类似,作为┅个数据传输通道其更稳定、更安全

}

我要回帖

更多关于 大数据采集与预处理技术 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信