许多人把数据挖掘视为另一个常用的术语数据中的知识发现或KDD的同义词,而另一些人只是把数据挖掘视为知识发现过程的一个基本步骤。知识发现过程如图1-4所示,由以下步骤的迭代序列组成:
1.数据清理(消除噪声和不一致数据)
2.数据集成(多种数据源可以组合在一起)
3. 数据选择(从数据库中提取与分析任务相关的数据)
图1-3数据挖掘:在你的数据中搜索知识(有趣的模式)
图1-4数据挖掘作为知识发现过程的一个步骤
4.数据变换(数据变换或统一成适合挖掘的形式,如通过汇总或聚集操作)
5.数据挖掘(基本步骤,使用智能方法提取数据模式)
6.模式评估(根据某种兴趣度度量,识别表示知识的真正有趣的模式;见1.5节)
7.知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)
步骤1~4是数据预处理的不同形式,为挖掘准备数据。数据挖掘步骤可能与用户或知识库交互。有趣的模式提供给用户,或作为新的知识存放在知识库中。注意,根据这种观点,数据挖掘只是整个过程中的一个步骤,尽管是最重要的步骤,因为它发现用来评估的隐藏的模式。
我们同意数据挖掘是知识发现过程的一个步骤。然而,在产业界、媒体和数据库研究界,术语数据挖掘比长术语从数据中发现知识更流行。因此,本书选用术语数据挖掘。我们采用数据挖掘功能的广义观点:数据挖掘是从存放在数据库、数据仓库或其他信息库中的大量数据中发现有趣知识的过程。基于这种观点,典型的数据挖掘系统具有以下主要成分(见图1-5):
图1-5 典型数据挖掘系统的结构
"数据库、数据仓库、万维网或其他信息库:这是一个或一组数据库、数据仓库、电子数据表或其他类型的信息库。可以对这些数据进行数据清理和集成。
" 数据库或数据仓库服务器:根据用户的数据挖掘请求,数据库或数据仓库服务器负责提取相关数据。
"知识库:这是领域知识,用于指导搜索或评估结果模式的兴趣度。这种知识可能包括概念分层,用于将属性或属性值组织成不同的抽象层。用户信念知识也可以包含在内,可以使用这种知识,根据非期望性评估模式的兴趣度。领域知识的其他例子包括附加的兴趣度约束或阈值,以及元数据(例如,描述来自多个异构数据源的数据)。
"数据挖掘引擎:这是数据挖掘系统的基本部分,理想情况下由一组功能模块组成,用于执行特征化、关联和相关分析、分类、预测、聚类分析、离群点分析和演变分析等任务。
"模式评估模块:通常,该成分使用兴趣度度量(见1.5节),并与数据挖掘模块交互,以便将搜索聚焦在有趣的模式上。它可能使用兴趣度阈值过滤已发现的模式。模式评估模块也可以与挖掘模块集成在一起,这依赖于所用的数据挖掘方法的实现。对于有效的数据挖掘,建议尽可能深入地将模式评估兴趣度推进到挖掘过程之中,以便将搜索限制在有趣的模式上。
"用户界面:该模块在用户和数据挖掘系统之间通信,允许用户与系统交互,说明数据挖掘查询或任务,提供信息以帮助搜索聚焦,根据数据挖掘的中间结果进行探索式数据挖掘。此外,该成分还允许用户浏览数据库和数据仓库模式或数据结构,评估挖掘的模式,以不同的形式对模式可视化。
从数据仓库观点来看,数据挖掘可以看作联机分析处理(OLAP)的高级阶段。然而,通过结合更高级的数据分析技术,数据挖掘比数据仓库系统的汇总型分析处理的狭窄领域走得更远。
尽管市场上已有许多“数据挖掘系统”,但是并非所有的系统都能进行真正的数据挖掘。不能处理大量数据的数据分析系统,最多称作机器学习系统、统计数据分析工具或实验系统原型。一个系统只能够进行数据或信息检索,包括在大型数据库找出聚集值或回答演绎查询,更应归类为数据库系统,或信息检索系统,或演绎数据库系统。
数据挖掘涉及多学科技术的集成,包括数据库和数据仓库技术、统计学、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息检索、图像与信号处理以及空间或时间数据分析。在本书讨论数据挖掘时,我们采用数据库观点。也就是说,着重强调有效的和可伸缩的数据挖掘技术。一个算法是可伸缩的(scalable)是指,如果给定内存和磁盘空间等可利用的系统资源,其运行时间应当随数据的规模近似线性地增加。通过数据挖掘,可以从数据
库提取有趣的知识、规律或高层信息,并可以从不同角度观察或浏览它们。发现的知识可以用于做决策、过程控制、信息管理和查询处理。因此,数据挖掘在信息和数据库系统方面是最重要的前沿之一,是信息技术最有发展前途的交叉学科之一。