数据挖掘

什么是数据挖掘

数据挖掘(Data Mining),又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。 

并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
数据挖掘的起源

为迎接前一节中的这些挑战,来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据类型的更有效的、可伸缩的工具。这些工作建立在研究者先前使用的方法学和算法之上,在数据挖掘领域达到高潮。特别地,数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。

一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。

数据挖掘能做什么

1)数据挖掘能做以下六种不同事情(分析方法): 

· 分类 (Classification) 
· 估值(Estimation)
· 预言(Prediction) 
· 相关性分组或关联规则(Affinity grouping or association rules) 
· 聚集(Clustering) 
· 描述和可视化(Des cription and Visualization) 
· 复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等)

2)数据挖掘分类 

以上六种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘 

· 直接数据挖掘 
目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量(可以理解成数据库中表的属性,即列)进行描述。 

· 间接数据挖掘 
目标中没有选出某一具体的变量,用模型进行描述;而是在所有的变量中建立起某种关系 。

· 分类、估值、预言属于直接数据挖掘;后三种属于间接数据挖掘 

3)各种分析方法的简介 

· 分类 (Classification) 

首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。
例子:
a. 信用卡申请者,分类为低、中、高风险 
b. 分配客户到预先定义的客户分片 
注意: 类的个数是确定的,预先定义好的 

· 估值(Estimation) 

估值与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。
例子: 
a. 根据购买模式,估计一个家庭的孩子个数 
b. 根据购买模式,估计一个家庭的收入 
c. 估计real estate的价值 
一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。 

· 预言(Prediction) 

通常,预言是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。

· 相关性分组或关联规则(Affinity grouping or association rules) 

决定哪些事情将一起发生。 
例子:
a. 超市中客户在购买A的同时,经常会购买B,即A => B(关联规则) 
b. 客户在购买A后,隔一段时间,会购买B (序列分析) 

· 聚集(Clustering) 

聚集是对记录分组,把相似的记录在一个聚集里。聚集和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。 
例子:
a. 一些特定症状的聚集可能预示了一个特定的疾病
b. 租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群 
聚集通常作为数据挖掘的第一步。例如,"哪一种类的促销对客户响应最好?",对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。 

· 描述和可视化(Des cription and Visualization)
是对数据挖掘结果的表示方式。 

数据挖掘的一般流程·定义问题:清晰地定义出业务问题,确定数据挖掘的目的。·数据准备:数据准备包括:选择数据--在大型数据库和数据仓库目标中提取数据挖掘的目标数据集;数据预处理--进行数据再加工,包括检查数据的完整性及数据的一致性、去噪声,填补丢失的域,删除无效数据等。
·数据挖掘:根据数据功能的类型和和数据的特点选择相应的算法,在净化和转换过的数据集上进行数据挖掘。
·结果分析:对数据挖掘的结果进行解释和评价,转换成为能够最终被用户理解的知识。
·知识的运用:将分析所得到的知识集成到业务信息系统的组织结构中去。

数据挖掘的商业背景

数据挖掘首先是需要商业环境中收集了大量的数据,然后要求挖掘的知识是有价值的。有 价值对商业而言,不外乎三种情况:降低开销;提高收入;增加股票价格。
数据挖掘技术实现

在技术上可以根据它的工作过程分为:数据的抽取、数据的存储和管理、数据的展现等关键技术。 

  ·数据的抽取 

  数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。 

  ·数据的存储和管理 

  数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。 

  ·数据的展现 

  在数据展现方面主要的方式有: 

  查询:实现预定义查询、动态查询、OLAP查询与决策支持智能查询;报表:产生关系数据表格、复杂表格、OLAP表格、报告以及各种综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的知识。 

  
数据挖掘与数据仓库融合发展

  数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。 

  数据挖掘和数据仓库是融合与互动发展的,其学术研究价值和应用研究前景将是令人振奋的。它是数据挖掘专家、数据仓库技术人员和行业专家共同努力的成果,更是广大渴望从数据库“奴隶”到数据库“主人”转变的企业最终用户的通途。