数据挖掘

数据挖掘（Data mining）是一个跨学科的计算机科学分支。它是用人工智能、机器学习、统计学和数据库的交叉方法在相对较大型的数据集中发现模式的计算过程。

数据挖掘过程的总体目标是从一个数据集中提取信息，并将其转换成可理解的结构，以进一步使用。除了原始分析步骤，它还涉及到数据库和数据管理方面、数据预处理、模型与推断方面考量、兴趣度度量、复杂度的考虑，以及发现结构、可视化及在线更新等后处理。数据挖掘是“数据库知识发现”（Knowledge-Discovery in Databases, KDD）的分析步骤，本质上属于机器学习的范畴。

类似词语“资料采矿”、“数据捕鱼”和“数据探测”指用数据挖掘方法来采样（可能）过小以致无法可靠地统计推断出所发现任何模式的有效性的更大总体数据集的部分。不过这些方法可以建立新的假设来检验更大数据总体。

## 历史

资料探勘是因为海量有用资料快速增长的产物。使用计算机进行历史资料分析，1960年代数字方式采集资料已经实现。1980年代，关系数据库随着能够适应动态按需分析资料的结构化查询语言发展起来。数据仓库开始用来存储大量的资料。

因为面临处理数据库中大量资料的挑战，于是资料探勘应运而生，对于这些问题，它的主要方法是资料统计分析和人工智能搜索技术。

## 定义

资料探勘有以下这些不同的定义：

- “从资料中提取出隐含的过去未知的有价值的潜在信息”
- “一门从大量资料或数据库中提取有用信息的科学”

尽管通常资料探勘应用于资料分析，但是像人工智能一样，它也是一个具有丰富含义的词汇，可用于不同的领域。

它与KDD(Knowledge discovery in databases)的关系是：KDD是从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程；而数据挖掘是KDD通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤。

事实上，在现今的文献中，这两个术语经常不加区分的使用。

## 本质

数据挖掘本质上属于机器学习的内容。

例如《数据挖掘：实用机器学习技术及Java实现》一书大部分是机器学习的内容。这本书最初只叫做“实用机器学习”，“数据挖掘”一词是后来为了营销才加入的。通常情况下，使用更为正式的术语，（大规模）数据分析和分析学，或者指出实际的研究方法（例如人工智能和机器学习）会更准确一些。

## 过程

数据挖掘的实际工作是对大规模数据进行自动或半自动的分析，以提取过去未知的有价值的潜在信息，例如数据的分组（通过聚类分析）、数据的异常记录（通过异常检测）和数据之间的关系（通过关联式规则挖掘）。这通常涉及到数据库技术，例如。这些潜在信息可通过对输入数据处理之后的总结来呈现，之后可以用于进一步分析，比如机器学习和预测分析。举个例子，进行数据挖掘操作时可能要把数据分成多组，然后可以使用决策支持系统以获得更加精确的预测结果。不过数据收集、数据预处理、结果解释和撰写报告都不算数据挖掘的步骤，但是它们确实属于“数据库知识发现”（KDD）过程，只不过是一些额外的环节。

数据库知识发现（KDD）过程通常定义为以下阶段：

(1) 选择

(2) 预处理

(3) 变换

(4) 数据挖掘

(5) 解释/评估。

### 预处理

在运用数据挖掘算法之前，必须收集目标数据集。由于数据挖掘只能发现实际存在于数据中的模式，目标数据集必须大到足以包含这些模式，而其余的足够简洁以在一个可接受的时间范围内挖掘。常见的数据源如资料超市或资料仓储。在数据挖掘之前，有必要预处理来分析多变量数据。然后要清理目标集。数据清理移除包含统计噪声和含有缺失数据的观测量。

### 数据挖掘

数据挖掘涉及六类常见的任务：

- 异常检测（异常/变化/偏差检测）– 识别不寻常的数据记录，错误数据需要进一步调查。
- 关联规则学习（依赖建模）– 搜索变量之间的关系。例如，一个超市可能会收集顾客购买习惯的数据。运用关联规则学习，超市可以确定哪些产品经常一起买，并利用这些信息帮助营销。这有时被称为市场购物篮分析。
- 聚类 – 是在未知数据的结构下，发现数据的类别与结构。
- 分类 – 是对新的数据推广已知的结构的任务。例如，一个电子邮件程序可能试图将一个电子邮件分类为“正常邮件”或“垃圾邮件”。
- 回归 – 试图找到能够以最小误差对该数据建模的函数。
- 自动汇总 – 提供了一个更紧凑的数据集表示，包括生成可视化和报表。

### 结果验证

数据挖掘的价值一般带着一定的目的，而这目的是否得到实现一般可以通过结果验证来实现。验证是指“通过提供客观证据对规定要求已得到满足的认定”，而这个“认定”活动的策划、实施和完成，与“规定要求”的内容紧密相关。数据挖掘过程中的数据验证的“规定要求”的设定，往往与数据挖掘要达到的基本目标、过程目标和最终目标有关。验证的结果可能是“规定要求”得到完全满足，或者完全没有得到满足，以及其他介于两者之间的满足程度的状况。验证可以由数据挖掘的人自己完成，也可以通过其他人参与或完全通过他人的项目，以与数据挖掘者毫无关联的方式进行验证。一般验证过程中，数据挖掘者是不可能不参与的，但对于认定过程中的客观证据的收集、认定的评估等过程如果通过与验证提出者无关的人来实现，往往更具有客观性。通过结果验证，数据挖掘者可以得到对自己所挖掘的数据价值高低的评估。

## 隐私问题及伦理

与资料探勘有关的，还牵扯到隐私问题，例如：一个雇主可以透过访问医疗记录来筛选出那些有糖尿病或者严重心脏病的人，从而意图削减保险支出。然而，这种做法会导致伦理和法律问题。

对于政府和商业资料的挖掘，可能会涉及到的，是国家安全或者商业机密之类的问题。这对于保密也是个不小的挑战。

资料探勘有很多合法的用途，例如可以在患者群的数据库中查出某药物和其副作用的关联。这种关联可能在1000人中也不会出现一例，但药物学相关的项目就可以运用此方法减少对药物有不良反应的病人数量，还有可能挽救生命；但这当中还是存在着数据库可能被滥用的问题。

资料探勘实现了用其他方法不可能实现的方法来发现资讯，但它必须受到规范，应当在适当的说明下使用。

如果资料是收集自特定的个人，那么就会出现一些涉及保密、法律和伦理的问题。

2018年5月25日，欧盟一般资料保护规范(General Data Protection Regulation，GDPR)正式上路，保障个人资料搜集的同意权与删除要求，在进入网站时会进行个人资料搜集、处理及利用之告知，并在当事人同意之下做搜集。

## 方法

数据挖掘的方法包括监督式学习、非监督式学习、半监督学习、增强学习。监督式学习包括：分类、估计、预测。非监督式学习包括：聚类，关联规则分析。

## 例子

数据挖掘在零售行业中的应用：零售公司跟踪客户的购买情况，发现某个客户购买了大量的真丝衬衣，这时资料探勘系统就在此客户和真丝衬衣之间建立关联。销售部门就会看到此信息，直接发送真丝衬衣的当前行情，以及所有关于真丝衬衫的资料发给该客户。这样零售商店通过资料探勘系统就发现了以前未知的关于客户的新信息，并且扩大经营范围。

## 数据捕捞

通常作为与资料仓库和分析相关的技术，资料探勘处于它们的中间。然而，有时还会出现十分可笑的应用，例如发掘出不存在但看起来振奋人心的模式（特别的因果关系），这些根本不相关的、甚至引人误入歧途的、或是毫无价值的关联，在统计学文献里通常被戏称为“资料挖泥”（Data dredging, data fishing, or data snooping）。

资料探勘意味着扫描可能存在任何关系的资料，然后筛选出符合的模式，（这也叫作“过度匹配模式”）。大量的数据集中总会有碰巧或特定的资料，有着“令人振奋的关系”。因此，一些结论看上去十分令人怀疑。尽管如此，一些探索性资料分析 还是需要应用统计分析寻找资料，所以好的统计方法和数据资料的界限并不是很清晰。

更危险是出现根本不存在的关联性。投资分析家似乎最容易犯这种错误。在一本叫做《顾客的游艇在哪里？》的书中写道：“总是有相当数量的可怜人，忙于从上千次的赌轮盘的轮子上寻找可能的重复模式。十分不幸的是，他们通常会找到。”

多数的资料探勘研究都关注于发现大量的资料集中，一个高度详细的模式。在《大忙人的资料探勘》一书中，西弗吉尼亚大学和不列颠哥伦比亚大学研究者讨论了一个交替模式，用来发现一个资料集当中两个元素的最小区别，它的目标是发现一个更简单的模式来描述相关数据。

## 延伸阅读

- Cabena, Peter; Hadjnian, Pablo; Stadler, Rolf; Verhees, Jaap; Zanasi, Alessandro (1997); Discovering Data Mining: From Concept to Implementation, Prentice Hall, ISBN 0-13-743980-6
- M.S. Chen, J. Han, P.S. Yu (1996) " Data mining: an overview from a database perspective ". Knowledge and data Engineering, IEEE Transactions on 8 (6), 866–883
- Feldman, Ronen; Sanger, James (2007); The Text Mining Handbook, Cambridge University Press, ISBN 978-0-521-83657-9
- Guo, Yike; and Grossman, Robert (editors) (1999); High Performance Data Mining: Scaling Algorithms, Applications and Systems, Kluwer Academic Publishers
- Han, Jiawei, Micheline Kamber, and Jian Pei. Data mining: concepts and techniques. Morgan kaufmann, 2006.
- Hastie, Trevor, Tibshirani, Robert and Friedman, Jerome (2001); The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer, ISBN 0-387-95284-5
- Liu, Bing (2007); Web Data Mining: Exploring Hyperlinks, Contents and Usage Data, Springer, ISBN 3-540-37881-2
- Nisbet, Robert; Elder, John; Miner, Gary (2009); Handbook of Statistical Analysis & Data Mining Applications, Academic Press/Elsevier, ISBN 978-0-12-374765-5
- Poncelet, Pascal; Masseglia, Florent; and Teisseire, Maguelonne (editors) (October 2007); "Data Mining Patterns: New Methods and Applications", Information Science Reference, ISBN 978-1-59904-162-9
- Tan, Pang-Ning; Steinbach, Michael; and Kumar, Vipin (2005); Introduction to Data Mining, ISBN 0-321-32136-7
- Theodoridis, Sergios; and Koutroumbas, Konstantinos (2009); Pattern Recognition, 4th Edition, Academic Press, ISBN 978-1-59749-272-0
- Weiss, Sholom M.; and Indurkhya, Nitin (1998); Predictive Data Mining, Morgan Kaufmann
- (See also Free Weka software)
- Ye, Nong (2003); The Handbook of Data Mining, Mahwah, NJ: Lawrence Erlbaum

## 外部链接

- Reference/Knowledge_Management/Knowledge_Discovery/Software
- Computers/Software/Databases/Data_Mining/Tool_Vendors