数据挖掘是在大型数据库中,自动地发现有用信息的过程。用来探查大型数据库,发现先前未知的有用模式,预测未来观测接结果。
并非所有的信息发现任务都是数据挖掘,上网查找个别记录只能称为信息检索(information retrieval)
数据挖掘是数据库中知识发现(knowledge discovery in database, KDD)不可缺少的一部分。
整个KDD过程为: 输入数据→数据预处(特征选择、维归约、规范化、选择数据集)→数据挖掘→后处理(模式过滤、可视化、模式表示)→信息。
数据预处理(reprocessing)的目的是将未加工的输入数据转化为适合分析的形式,涉及融合多个数据源数据,清洗数据 以消除噪声和重复的观测值,选择与当前数据挖掘任务相关的记录和特征。 最费力最耗时。
“结束循环”(closing the loop)通常指将数据挖掘成果集成到决策支持系统的过程。
数据挖掘要解决的难题:
1.可伸缩 :数吉字节、数太字节甚至数拍字节的数据集越来越普遍,因此处理这些数据需要算法的可伸缩性,还可能需要实现新的数据结构才能有效访问每个记录。例如当要处理的数据不能放进内存时,可能需要非内存算法。使用抽样技术或并行开发和分布算法也可以提高可伸缩程度。
2.高维性: 随着维度(特征数)的增加,计算复杂性迅速增加。
3.异种数据和复杂数据
4.数据的所有权与分布:有时需要分析的数据并非分布在一个站点,这就需要分布式数据挖掘技术。分布式数据挖掘技术算法面临的挑战: 如何降低执行分布式计算所需的通信量? 如何有效地统一从多个资源得到的数据挖掘结果? 如何处理数据安全性问题?
数据挖掘的任务:
- 预测任务:其任务目标是根据其它属性,预测特定属性的值。被预测的属性称为目标变量(target variable)或因变量(dependent variable),而用来预测的属性称为说明变量(explanatory)或自变量(independent variable)。
- 描述任务:其目标是概括数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常)
本质上,描述性数据挖掘任务通常是探查性的,并且常常需要后处理技术验证和解释结果。
四种主要数据挖掘任务:预测建模、聚类分析、关联分析、异常检测
预测建模(prodictive modeling) 涉及以说明变量函数的方式为目标变量建立模型。
有两类预测建模任务:分类(classification),用于预测离散的目标变量;回归(regression)用于预测连续的目标变量。
关联分析(association analysis) 用来发现数据中强关联特征的模式。例如:牛奶→尿布的关联模式,可以发现商品中可能存在的交叉销售的商机。
聚类分析(cluster analysis) 旨在发现紧密相关的观测值组群,使得与属于不同簇的观测值相比,属于同一簇的观测值相互之间尽可能类似。
异常检测(anomaly detection) 的任务是识别其特征显著不同于其它数据的观测值。这样的观测值称为异常点(anomaly)或离群点(outlier)。异常检测