数据挖掘系统设计技术分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据挖掘系统设计技术分析

【摘要】数据挖掘技术则是商业智能(Business Intelligence)中最高端的,最具商业价值的技术。数据挖掘是统计学、机器学习、数据库、模式识别、人工智能等学科的交叉,随着海量数据搜集、强大的多处理器计算机和数据挖掘算法等基础技术的成熟,数据挖掘技术高速发展,成为21世纪商业领域最核心竞争力之一。本文从设计思路、系统架构、模块规划等方面分析了数据挖掘系统设计技术。

【关键词】数据挖掘;商业智能;技术分析

引言

数据挖掘是适应信息社会从海量的数据库中提取信息的需要而产生的新学科。它可广泛应用于电信、金融、银行、零售与批发、制造、保险、公共设施、政府、教育、远程通讯、软件开发、运输等各个企事业单位及国防科研上。数据挖掘应用的领域非常广阔,广阔的应用领域使用数据挖掘的应用前景相当光明。我们相信,随着数据挖掘技术的不断改进和日益成熟,它必将被更多的用户采用,使企业管理者得到更多的商务智能。

1、参考标准

1.1挖掘过程标准:CRISP-DM

CRISP-DM全称是跨行业数据挖掘过程标准。它由SPSS、NCR、以及DaimlerChrysler三个公司在1996开始提出,是数据挖掘公司和使用数据挖掘软件的企业一起制定的数据挖掘过程的标准。这套标准被各个数据挖掘软件商用来指导其开发数据挖掘软件,同时也是开发数据挖掘项目的过程的标准方法。挖掘系统应符合CRISP-DM的概念和过程。

1.2ole for dm

ole for dm是微软于2000年提出的数据挖掘标准,主要是在微软的SQL SERVER软件中实现。这个标准主要是定义了一种SQL扩展语言:DMX。也就是挖掘系统使用的语言。标准定义了许多重要的数据挖掘模型定义和使用的操作原语。相当于为软件提供商和开发人员之间提供了一个接口,使得数据挖掘系统能与现有的技术和商业应用有效的集成。我们在实现过程中发现这个标准有很多很好的概念,但也有一些是勉为其难的,原因主要是挖掘系统的整体概念并不是非常单纯,而是像一个发掘信息的方法集,所以任何概念并不一定符合所有的情况,也有一些需要不断完善和发展中的东西。

1.3PMML

PMML是1999年由DMG发布了1.0版本,他主要是一个基于XML的模型描述语言,利用XML的描述能力来表达各种挖掘模型和规则。标准化的描述使得各个不同的厂商的软件之间可以共享,交换这些挖掘模型。所以他主要是一种模型和规则的描述语言。

1.4对于标准的基本判断

CRISP-DM的流程已经成为业界的基本认识,但他更像一个项目指导思想,而不是单纯硬性规范。ole for dm规范了挖掘模型和操作原语,使挖掘软件能有效,简单的整合进现有的企业软件架构,对于推动挖掘软件的使用和普及意义非凡。但ole for dm的规则模型对于结构复杂,形态各异的模型规则用简单的平面表来表示就显得非常怪异,而PMML正好弥补了这个缺陷,PMML利用了XML 的描述能力,能有效的描述挖掘模型和规则。

挖掘服务器主要以上我们对于这些标准的基本判断为基础,吸收CRISP-DM 和ole for dm的核心的优良概念,在实际开发中我们也是根据实际需求来拓展了一些概念和修正了一些做法,为客户和开发使用人员提供更好的软件。

2、软件功能设计

2.1设计思想

数据挖掘系统的构架设计采用如下的原则:

采用分层的设计,模块化的原则

采用先进和成熟的技术

使用C++语言使用(C/C++语言是实现服务器级别软件的首选);使用泛型思想,面向对象技术;使用STL容器或开发STL更优化的C++容器。

标准性

系统的设计和开发遵循国际标准和行业标准;符合CRISP-DM规定的数据挖掘项目实施的过程流程标准,遵循ole for dm规范中挖掘模型和操作原语;使用DMX作为用户的接口来驱动数据挖掘过程。

良好的可扩展性

系统支持多个层面的可扩展性,通过快速开发/重组、参数配置等多个方面使得系统可以实现客户未来不断变化的需求;系统有合理的层次结构;要有较强的扩展能力,可快速方便的插入新算法;系统要求支持平台无关性,能够适应多种主流主机平台、数据库平台、中间件平台,具有较强的跨系统平台的能力。系统能适应不同的网络结构,可根据业务的发展灵活扩展硬件产品。

2.2系统架构体系

根据架构分析和设计思想产生系统的架构图,并对架构图进行描述,说明分层的原因、层次的职责。首先从系统整体架构来阐述,然后对数据挖掘服务器进一步分层,模块化,并完整说明每层实现的功能。

2.3系统整体架构

上面的架构图由:数据层、挖掘服务器层、驱动层和客户层组成。

数据层:由业务系统的各个数据库或数据仓库组成。通过ODBC或相应的驱动为挖掘服务器层提供数据支持。

挖掘服务器层:实现对数据进行预处理,包括主成分分析、抽样、过滤、投影、离散等,创建、训练、评估模型,预测,修改模型参数,删除规则,删除模型等一系列功能。本层通过Socket与上面的驱动层交互,接收驱动层的DMX语句,执行完成后作出响应并返回结果到上一层。

驱动层:根据客户层的具体平台分为JA V A驱动和C++驱动,驱动层提供API接口供客户端调用。类似于数据库系统中的JDBC驱动和ODBC驱动。

客户层:处于系统的最上层。系统最终用户的使用界面和设备。包括基于浏览器的瘦客户端和基于GUI的胖客户端应用。

3、数据挖掘服务器架构

本架构图是对服务器客户端架构的进一步分层,模块化后的描述。上面的架构图由数据源接口层、核心服务层、传输层和用户驱动(接口)层组成。数据源接口层:提供获取数据的接口。

核心服务层:由许多核心服务单元组成,包括会话管理、DMX解析、DMX 引擎、算法、模型管理、内存管理、异步框架、持久化管理、并发控制、异常处理和计算与排序缓冲区等。

传输层:用于获取上层的输入,并向上层返回结果。

用户驱动(接口)层:用户使用DMX语句提交给本层完成模型管理、模型训练、模型预测等功能。

4、模块概要设计

4.1内存管理

相关文档
最新文档