什么是数据挖掘?

  • 来源:网络
  • 更新日期:2020-07-24 15:03:48

摘要:数据挖掘(Data Mining)就是从大量的数据中,提取隐藏在其中的,事先不知道的、但潜在有用的信息的过程。数据挖掘的目标是建立一个决策模型,根据过去的行动数据来预测未来的行为。...

数据挖掘(Data Mining)就是从大量的数据中,提取隐藏在其中的,事先不知道的、但潜在有用的信息的过程。数据挖掘的目标是建立一个决策模型,根据过去的行动数据来预测未来的行为。

数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程。

数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

数据挖掘是数据库中知识发现(knowledge discovery in database, KDD)不可缺少的一部分,而KDD是将未加工的数据转换为有用信息的整个过程,该过程包括一系列转换步骤, 从数据的预处理到数据挖掘结果的后处理。

数据挖掘的起源

来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据 类型的更有效的、可伸缩的工具。这些工作都是建立在研究者先前使用的方法学和算法之上,而在数据挖掘领域达到高潮。

特别地,数据挖掘利用了来自如下一些领域的思想:(1)来自统计学的抽样、估计和假设检验;(2)人工智能、模式识别和机器学习的搜索算法建模技术和学习理论。

数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。

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

KDD(Knowledge Discovery from Database)

数据清理

消除噪声和不一致的数据;

数据集成

多种数据源可以组合在一起;

数据选择

从数据库中提取与分析任务相关的数据;

数据变换

通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式;

数据挖掘

基本步骤,使用智能方法提取数据模式;

模式评估

根据某种兴趣度,识别代表知识的真正有趣的模式;

知识表示

使用可视化和知识表示技术,向用户提供挖掘的知识。

数据挖掘方法论

业务理解(business understanding)

从商业角度理解项目的目标和要求,接着把这些理解知识通过理论分析转化为数据挖掘可操作的问题,制定实现目标的初步规划;

数据理解(data understanding)

数据理解阶段开始于原始数据的收集,然后是熟悉数据、甄别数据质量问题、探索对数据的初步理解、发觉令人感兴趣的子集以形成对探索信息的假设;

数据准备(data preparation)

数据准备阶段指从最初原始数据中未加工的数据构造数据挖掘所需信息的活动。数据准备任务可能被实施多次,而且没有任何规定的顺序。这些任务的主要目的是从源系统根据维度分析的要求,获取所需要的信息,需要对数据进行转换、清洗、构造、整合等数据预处理工作;

建模(modeling)

在此阶段,主要是选择和应用各种建模技术。同时对它们的参数进行调优,以达到最优值。通常对同一个数据挖掘问题类型,会有多种建模技术。一些技术对数据形式有特殊的要求,常常需要重新返回到数据准备阶段;

模型评估(evaluation)

在模型部署发布前,需要从技术层面判断模型效果和检查建立模型的各个步骤,以及根据商业目标评估模型在实际商业场景中的实用性。此阶段关键目的是判断是否存在一些重要的商业问题仍未得到充分考虑;

模型部署(deployment)

模型完成后,由模型使用者(客户)根据当时背景和目标完成情况,封装满足业务系统使用需求。

数据挖掘任务

通常,数据挖掘任务分为下面两大类。

预测任务。这些任务的目标是根据其他属性的值,预测特定属性的值。被预测的属性一 般称目标变量(targetvariable)或因变量(dependentvariable), 而用来做预测的属性称说明变量(explanatoryvariable)或自变量(independentvariable)。

描述任务。其目标是导出概括数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常)。本质上,描述性数据挖掘任务通常是探查性的,并且常常需要后处理技术验证和解释结果。


预测建模(predictivemodeling) 涉及以说明变量函数的方式为目标变量建立模型。

有两类预测建模任务:分类(classification),用于预测离散的目标变量;回归(regression),用于预测连续的目标变量。

例如,预测一个Web用户是否会在网上书店买书是分类任务,因为该目标变量是二值的,而预测某股票的未来价格则是回归任务,因为价格具有连续值属性。

两项任务目标都是训练一个模型,使目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定顾客对产品促销活动的反应,预测地球生态系统的扰动,或根据检查结果判断病人是否患有某种疾病。

关联分析(association analysis) 用来发现描述数据中强关联特征的模式。

所发现的模式通常用蕴涵规则或特征子集的形式表示。由于搜索空间是指数规模的,关联分析的目标是以有效的方式提取最有趣的模式。关联分析的应用包括找出具有相关功能的基因组、识别用户一起访问的Web页面、 理解地球气候系统不同元素之间的联系等。

聚类分析(cluster analysis)旨在发现紧密相关的观测值组群,使得与属于不同簇的观测值相比, 属于同一簇的观测值相互之间尽可能类似。聚类可用来对相关的顾客分组、找出显著影响 地球气候的海洋区域以及压缩数据等。

异常检测(anomaly detection) 的任务是识别其特征显著不同于其他数据的观测值。

这样的观测值称为异常点(anomaly)或离群点(outlier)。异常检测算法的目标是发现真正的异常点,而避免错误地将正常的对象标注为异常点换言之,一个好的异常检测器必须具有高检测率和低误报率。

异常检测的应用包括检测欺诈、网络攻击、疾病的不寻常模式、生态系统扰动等。

更多相关知识,请访问:PHP中文网!