1.什么是数据挖掘

数据挖掘是在大型数据存储库中,自动地发现有用信息的过程

数据挖掘技术用来探查大型数据库,发现先前未知的有用模式。数据挖掘还可以预测未来观测结果。

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

数据挖掘与知识发现

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

输入数据可以以各种形式存储(平展文件、电子数据表或关系表),并且可以驻留在集中的数据存储库中,或分布在多个站点上。数据预处理(preprocessing)的目的是将未加工的输入数据转换成适合分析的形式。数据预处理涉及的步骤包括融合来自多个数据源的数据,清洗数据以消除噪声和重复的观测值,选择与当前数据挖掘任务相关的记录和特征。由于收集和存储数据的方式多种多样,数据预处理可能是整个知识发现过程中最费力、最耗时的步骤。

“结束循环”(closing the loop)通常指将数据挖掘结果集成到决策支持系统的过程。例如在商业应用中,数据挖掘的结果所揭示的规律可以结合商业活动管理工具,从而开展或测试有效的商品促销活动。这样的结合需要后处理(postprocessing)步骤,确保只将那些有效的和有用的结果集成到决簧支持系统中。后处理的一个例子是可视化,它使得数据分析者可以从各种不同的视角探查数据和数据挖掘结果。在后处理阶段,还能使用统计度量或假设检验,删除虚假的数据挖掘结果。

图2展示数据挖掘与其他领域之间的联系

2.数据挖掘要解决的问题

(1)可伸缩。由于数据产生和收集技术的进步,数吉字节、数太字节甚至数拍字节的数据集越来越普遍。如果数据挖掘算法要处理这些海量数据集,则算法必须是可伸缩的(scalable)。许多数据挖掘算法使用特殊的搜索策略处理指数级搜索问题。为实现可伸缩可能还需要实现新的数据结构,才能以有效的方式访问每个记录。例如,当要处理的数据不能放进内存时,可能需要非内存算法。使用抽样技术或开发并行和分布算法也可以提高可伸缩程度。

(2)高维性。现在,常常遇到具有成百上千属性的数据集,而不是几十年前常见的只具有少量属性的数据集。在生物信息学领域,微阵列技术的进步已经产生了涉及数千特征的基因表达数据。具有时间或空间分量的数据集也经常具有很高的维度。例如,考虑包含不同地区的温度测量结果的数据集,如果在一个相当长的时间周期内反复地测量,则维度(特征数)的增长正比于测量的次数。为低维数据开发的传统的数据分析技术通常不能很好地处理这样的高维数据。此外,对于某些数据分析算法,随着维度(特征数)的增加,计算复杂性迅速增加。

(3)异种数据和复杂数据通常,传统的数据分析方法只处理包含相同类型属性的数据集,或者是连续的,或者是分类的。随着数据挖掘在商务、科学、医学和其他领域的作用越来越大,越来越需要能够处理异种属性(包含不同类型属性、非连续、未分类等)的技术。近年来,已经出现了更复杂的数据对象。这些非传统的数据类型的例子有:含有半结构化文本和超链接的web页面集、具有序列和三维结构的DNA数据、包含地球表面不同位置上的时间序列测量值(温度、气压等)的气象数据。为挖掘这种复杂对象而开发的技术应当考虑数据中的联系,如时间和空间的自相关性、图的连通性、半结构化文本和XML文档中元素之间的父子联系。

(4)数据的所有权与分布。有时,需要分析的数据并非存放在一个站点,或归属一个机构,而是地理上分布在属于多个机构的资源中。这就需要开发分布式数据挖掘技术。分布式数据挖掘算法面临的主要挑战包括:(1)如何降低执行分布式计算所需的通信量?(2)如何有效地统一从多个资源得到的数据挖掘结果?(3)如何处理数据安全性问题?

(5)非传统的分析。传统的统计方法基于一种假设-检验模式,即提出一种假设,设计实验来收集数据,然后针对假设分析数据。但是,这一过程劳力费神。当前的数据分析任务常常需要产生和评估数千种假设,因此需要自动地产生和评估假设,这促使人们开发了一些数据挖掘技术。此外,数据挖掘所分析的数据集通常不是精心设计的实验的结果,并且它们通常代表数据的时机性样本(opportunistic sample),而不是随机样本(random sample)。而且,这些数据集常常涉及非传统的数据类型和数据分布。

3.数据挖掘任务

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

  • 预测任务。这些任务的目标是根据其他属性的值,预测特定属性的值。被预测的属性般称目标变量(target variable)或因变量(dependent variable),而用来做预测的属性称说明变量(explanatory variable)或自变量(independent variable)
  • 描述任务。其目标是导出概括数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常)。

本质上,描述性数据挖掘任务通常是探查性的,并且常常需要后处理技术验证和解释结果。

图3展示四种主要的数据挖掘任务

(1)预测建模(predictive modeling)涉及以说明变量函数的方式为目标变量建立模型。有两类预测建模任务:

  • 分类(classification),用于预测离散的目标变量;
  • 回归(regression),用于预测连续的目标变量。

例如,预测一个web用户是否会在网上书店买书是分类任务,因为该目标变量是二值的,而预测某股票的未来价格则是回归任务,因为价格具有连续值属性。两项任务目标都是训练一个模型,使目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定顾客对产品促销活动的反应,预测地球生态系统的扰动,或根据检查结果判断病人是否患有某种疾病。

(2)关联分析(association analysis) 用来发现描述数据中强关联特征的模式。所发现的模式通常用蕴涵规则或特征子集的形式表示。由于搜索空间是指数规模的,关联分析的目标是以有效的方式提取最有趣的模式。

关联分析的应用:找出具有相关功能的基因组、识别用户一起访问的Web页面、理解地球气候系统不同元素之间的联系等。

(3)聚类分析(cluster-analysis) 并在发现紧密相关的观测值组群,使得与属于不同簇的观测值相比,属于同一族的观测值相互之间尽可能类似。

聚类分析的应用:对相关的顾客分组、找出显著影响地球气候的海洋区域以及压缩数据等。

(4)异常检测(anomaly.detection)的任务是识别其特征显著不同于其他数据的观测值。这样的观测值称为异常点(anomaly)或离群点(outlier)。异常检测算法的目标是发现真正的是赏点,而避免错误地将正常的对象标注为异常点.换言之,一个好的异常检测器必须具有高检测率和低误报率。

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

参考材料:《Introduction to Data Mining》 written Pang-Ning Tan, Michael Steinbach, Vipin Kumar, etc.

【数据挖掘】之 数据挖掘 绪论相关推荐

  1. 【数据挖掘】数据挖掘简介 ( 数据挖掘引入 | KDD 流程 | 数据源要求 | 技术特点 )

    文章目录 一. 数据挖掘引入 二. 数据挖掘简介 三. 数据挖掘 与 KDD ( Knowledge Discovery From Data ) 从数据到知识 四. 数据挖掘中的数据源 五. 数据挖掘 ...

  2. 【数据挖掘】数据挖掘工程师是做什么的?

    [数据挖掘]数据挖掘工程师是做什么的? 2016-08-10 17:16 数据挖掘,从字面上理解,就是在数据中找到有用的东西,哪些东西有用就要看具体的业务目标了.最简单的就是统计应用了,比如电商数据, ...

  3. 四川大学计算机徐教授,大话数据挖掘之数据挖掘简介

    原标题:大话数据挖掘之数据挖掘简介 人物介绍 许教授:国内数据挖掘专家.某985高校智能信息处理学术带头人 万总:某超市集团营销副总 李部长:某钢铁集团生产部部长 某985高校管理学院第五届EMBA班 ...

  4. python电子病历数据挖掘_数据挖掘技术在基于XML的电子病历中的应用研究

    第1章绪论. 1论文的选题及其研究意义 2医院信息系统的发展状况................................ -- 选题的国内外研究现状 论文的研究内容及组织........ -- ...

  5. 什么是数据挖掘?数据挖掘的目标是什么?

    数据挖掘绪论 什么是数据挖掘 数据挖掘要解决的问题是什么? 数据挖掘的任务 预测建模 关联分析 聚类分析 异常检测 什么是数据挖掘 并非所有的信息发现任务都被视为数据挖掘.例如,使用数据库管理系统查找 ...

  6. 【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★

    文章目录 一. K-Means 聚类算法流程 二. 二维数据的 K-Means 聚类 1. 第一次迭代 2. 第二次迭代 参考博客 : [数据挖掘]聚类算法 简介 ( 基于划分的聚类方法 | 基于层次 ...

  7. 【数据挖掘】数据挖掘总结 ( 拉普拉斯修正 | 贝叶斯分类器示例2 ) ★

    文章目录 一. 贝叶斯分类器分类的流程 二. 拉普拉斯修正 三. 贝叶斯分类器示例2 参考博客 : [数据挖掘]贝叶斯分类 ( 贝叶斯分类器 | 贝叶斯推断 | 逆向概率 | 贝叶斯公式 | 贝叶斯公 ...

  8. 【数据挖掘】数据挖掘建模 ( 预测建模 | 描述建模 | 预测模型 | 描述模型 | 判别模型 | 概率模型 | 基于回归的预测模型 )

    文章目录 I . 预测建模 与 描述建模 II . 预测模型 与 函数映射 III . 预测模型的分类 ( 分类 | 回归 ) IV . 预测建模 测试集 V . 预测建模 拟合过程 VI . 预测模 ...

  9. 【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )

    文章目录 一. 数据挖掘算法组件化思想 二. Apriori 算法 ( 关联分析算法 ) 三. K-means 算法 ( 聚类分析算法 ) 四. ID3 算法 ( 决策树算法 ) 一. 数据挖掘算法组 ...

  10. 【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )

    文章目录 一. 数据挖掘算法组件化 二. 组件一 : 模型或模式结构 三. 组件二 : 数据挖掘任务 四. 组件三 : 评分函数 五. 组件四 : 搜索和优化算法 六. 组件五 : 数据管理策略 七. ...

最新文章

  1. flex版的流程设计器
  2. mysql-5.7 innodb 的并行任务调度详解
  3. 【转载】知乎答案----孙志岗----Google 发布了程序员养成指南,国内互联网巨头是否也有类似的指南和课程推荐...
  4. gcc 与 glibc 的关系 glibc版本查看
  5. 迅速掌握Unix编程
  6. spring boot 中启用 https
  7. postman socket接口测试_基于postman测试接口(整套接口测试)
  8. 云原生的本质_什么是云原生?云原生和传统软件有什么区别?有什么特征
  9. 被单位开除,已经交了14年的养老保险,该怎么办?
  10. Halcon 学习总结——邮票目录检测(stamp_catalogue)
  11. 把触发器说透(转载)
  12. 傅里叶变换与拉普拉斯变换
  13. 【阅读笔记】《创京东:刘强东亲述创业之路》
  14. 网络爬虫-学习记录(三)使用Selenium并对去哪儿网站进行爬取
  15. 【Vue报错】This is probably not a problem with npm. There is likely additional logging output above
  16. c语言安徽省考试成绩查询,2021安徽省考报名入口_安徽省考成绩查询
  17. PDF转Word文档怎么转?两招教你学会PDF转word
  18. 如何将代码插入到Word文档
  19. js、++、--、switch、for、if
  20. 小班安全使用计算机教案,【实用】小班安全教案4篇

热门文章

  1. 小tip:IE不支持CSS3多背景的替代解决方案
  2. 计算机实战项目之 论文辩论PPT+源码等]精品微信小程序ssm培训机构管理系统+后台管理系统
  3. 一点点学共形几何(1) 微分几何之拓扑空间简介
  4. Android 今日头条适配详解
  5. n270运行Linux,古董笔记本电脑拯救记——安装小型操作系统
  6. Java随笔-String有多长?
  7. 【邮箱问题】无法登录邮箱、需要绑定手机(解决方法)
  8. AI学习笔记——Bias and Variance tradeoff (方差偏差的平衡)
  9. web前端-国际化-自动翻译(免费)
  10. document.title获取当前网页的标题