电脑基础 · 2023年3月31日

【数据挖掘算法与应用】——数据挖掘导论

数据挖掘导论

    • 导入
    • 一、为什么要进行数据挖掘
      • 1.数据爆炸但知识贫乏
      • 2.数据在爆炸式增长
      • 3.数据安全
      • 4.从商业数据到商业智能的进化
      • 5.KDD的出现
    • 二、什么是数据挖掘
      • 1.广义技术角度的定义
      • 2.狭义技术角度的定义
      • 3.商业角度的定义
      • 4.数据挖掘与其他科学的关系
      • 5.数据挖掘对象
      • 6.挖掘到什么知识
    • 三、数据挖掘方法
      • 1.数据挖掘中常用的十三种技术
      • 2.有监督学习
      • 3.无监督学习
      • 4.半监督学习
      • 5.主动学习
      • 6.迁移学习
      • 7.强化学习
    • 四、数据挖掘过程
      • 1.明确目标
      • 2.搜集数据
      • 3.数据清洗
      • 4.构建模型
      • 5.模型评估
      • 6.应用部署
    • 五、数据挖掘的应用
    • 六、数据挖掘隐私权问题
    • 七、小结
    • 八、随堂练习

导入

数据挖掘技术背景
【数据挖掘算法与应用】——数据挖掘导论

大数据如何改变我们的生活
【数据挖掘算法与应用】——数据挖掘导论


一、为什么要进行数据挖掘

1.数据爆炸但知识贫乏

  人们积累的数据越来越多。但是,目前这些数据还仅仅应用在数据的录入、查询、统计等功能,无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势,导致了“数据爆炸但知识贫乏”的现象。
【数据挖掘算法与应用】——数据挖掘导论

2.数据在爆炸式增长

(每分钟……)
【数据挖掘算法与应用】——数据挖掘导论

3.数据安全

【数据挖掘算法与应用】——数据挖掘导论

4.从商业数据到商业智能的进化

【数据挖掘算法与应用】——数据挖掘导论

5.KDD的出现

  基于数据库的知识发现(KDD)一词首次出现在1989年举行的国际人工智能联合大会IJCAI-89Workshop。
  1995年在加拿大蒙特利尔召开了第一届KDD国际学术会议(KDD’95)。
由Kluwers Publishers出版,1997年创刊的《Knowledge Discovery and Data Mining》是该领域中的第一本学术刊物。

(1)已获得的大量数据往往是数据丰富但信息贫乏的
(2)计算设备变得廉价且功能强大
(3)没有强大的工具的话,数据量已经超过人类的理
解能力
(4)数据收集存储的速度越来越快
(5)传统技术已经不适用于原始数据
(6)数据挖掘有助于科学研究


二、什么是数据挖掘

1.广义技术角度的定义

  数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息或知识的非平凡过程

该定义包括好几层含义:

  • 数据源必须是真实的、大量的、含噪声的;
  • 发现的是用户感兴趣的知识;
  • 发现的知识要可接受、可理解、可运用;
  • 并不要求发现放之四海皆准的知识,仅支持特定的发现问题。

数据、信息、知识
【数据挖掘算法与应用】——数据挖掘导论

数据:符号、事实和数字
数据是未经加工和修饰的原料。
数据是可以记录、通信和能识别的符号,它通过有意义的组合来表达现实世界中的某种实体(具体对象、事件、状态或活动)的特征。
【数据挖掘算法与应用】——数据挖掘导论

信息:经过提炼、加工和解释的数据
信息是对数据经过过滤、融合、标准化、对比、翻译、分类、管理等一系列环节处理后得到的。
【数据挖掘算法与应用】——数据挖掘导论

知识:结构化,有价值的信息
知识是对信息内容进行提炼、比较、挖掘、分析、概括、判断和推论得到的
【数据挖掘算法与应用】——数据挖掘导论


2.狭义技术角度的定义

  也有人把数据挖掘视为知识发现过程中的一个基本步骤。例如Fayyad过程模型主要包含以下七个阶段,知识发现过程由这些步骤的迭代序列组成:

  • 知识表示
  • 数据清理
  • 数据集成
  • 数据选择
  • 数据变换
  • 数据挖掘
  • 模式评估

3.商业角度的定义

  数据挖掘是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。

  数据挖掘从商业的角度可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。

4.数据挖掘与其他科学的关系

  数据挖掘作为一门新兴的交叉学科,涉及数据库系统、数据仓库、统计学、机器学习、可视化、信息检索和高性能计算等诸多领域。

  此外,还与神经网络、模式识别、空间数据分析、图像处理、信号处理、概率论、图论和归纳逻辑等等领域关系密切。

5.数据挖掘对象

  1. 关系数据库

数据库中数据的特点如下:

数据动态性
数据的不完全性
噪声数据
数据类型不一致
异构性
数据冗余性
数据稀疏性

由于数据库中的数据具有以上特点,使其在挖掘过程中难以直接使用,因此在进行数据挖掘以前必须对数据进行预处理。


  1. 数据仓库

数据仓库的特点如下:

面向主题
集成的数据
不可更新
随时间不断变化

高质量的挖掘结果依赖于高质量的数据,数据仓库为数据挖掘准备了良好的数据源,因此,数据仓库是数据挖掘的最佳环境。


数据立方体
【数据挖掘算法与应用】——数据挖掘导论
OLAPOn-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。

OLAP的多维分析操作包括:钻取(Drill-down)、上卷(Roll-up)、切片(Slice)、切块(Dice)以及旋转(Pivot),下面还是以上面的数据立方体为例来逐一解释下:

  钻取(Drill-down):在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据。

  比如通过对2010年第二季度的总销售数据进行钻取来查看2010年第二季度4、5、6每个月的消费数据,如图;当然也可以钻取浙江省来查看杭州市、宁波市、温州市……这些城市的销售数据。

  上卷(Roll-up):钻取的逆操作,即从细粒度数据向高层的聚合。
如将江苏省、上海市和浙江省的销售数据进行汇总来查看江浙沪地区的销售数据,如图。

  切片(Slice):选择维中特定的值进行分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。

  切块(Dice):选择维中特定区间的数据或者某批特定值进行分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。

  旋转(Pivot):即维的位置的互换,就像是二维表的行列转换,如图中通过旋转实现产品维和地域维的互换。


  1. 文本

文本是非结构化或半结构化的数据。
文本分析包括:

关键词或特征提取
相似检索
文本聚类
文本分类

4.多媒体数据

图像、音频、视频数据是典型的多媒体数据。
多媒体数据广泛存在于生活、医学、军事、娱乐等领域。
目前,对于多媒体数据的挖掘主要有特征提取、基于内容的相似检索等。

5.Web数据

Web使用模式挖掘:在Web环境中,文档和对象一般都是通过链接来便于用户访问。捕捉用户的存取模式或发现一个Web网站最频繁的访问路径称为Web使用模式挖掘或Web路径挖掘。

Web结构挖掘:是挖掘Web的链接结构,并找出关于某一主题的权威网站。

Web内容挖掘:是指在大量训练样本的基础上,得到数据对象之间的内在特征,并以此为依据进行有目的的信息筛选,从而获得指定内容的信息。

6.复杂类型的数据
空间数据库
如地理信息数据、卫星图像数据、地下管道、下水道、及各类地下建筑分布数据等。
对空间数据的挖掘可以为城市规划、生态规划、道路修建提供决策支持。

时间序列数据
主要用于存放与时间相关的数据,它可用来反映随时间变化的即时数据或不同时间发
生的不同事件。

6.挖掘到什么知识

  1. 广义知识
  • 广义知识指类别特征的概括性描述知识。
    根据数据的微观特性发现其表征的、带有普遍性的、较高层次概念的、中观和宏观的知识,反映同类事物共同性质。

  • 广义知识就是对大量数据的归纳、概括,提炼出带有普遍性的、概括性的描述统计知识。

  • 描述统计是数据挖掘最基本的应用之一,经常和统计图(如直方图,柱形图,折线图,散点图等)配合使用。如当月公司利润总额、比较不同区域的销售量等。

  • 广义知识的发现方法和实现技术有很多,如概念描述、多维数据分析、面向属性的归约、概念分层等。

  1. 关联知识
  • 数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。

  • 关联知识可分为简单关联规则、多层关联规则、多维关联规则、量化关联规则和基于约束的关联规则。

  • 发现关联规则的算法主要有Apriori算法和频繁模式树(FP-树)
    典型例子是购物篮分析

  1. 分类知识
  • 分类知识是反映同类事物共同性的特征型知识和不同事物之间的差异型特征知识。

  • 估值与分类类似,只不过它要预测的不是类别,而是一个连续的数值。

  • 典型应用:客户细分。例如,银行根据客户的存款额、信用额和消费金额把客户分成不同的类别,分别办理不同类型的银行卡。

  • 算法有决策树分类、贝叶斯分类、人工神经网络法、粗糙集法和遗传算法等。

  1. 聚类
  • 聚类是根据类内事物的相似性最大、类间事物的相似性最小的原则把数据对象进行聚类或分组。

  • 聚类与分类不同,它们的区别如下:

    • 第一,分类需要训练数据集,属于有监督的学习;而聚类不需要训练数据集,属于无监督的学习。
    • 第二,在进行分类以前,已知道数据的分类情况;而进行聚类以前,对目标数据的分类情况一无所知。
  • 常用的聚类方法包括统计分析方法、机器学习方法、神经网络方法等

  1. 孤立点分析
  • 数据库中可能包含一些数据对象,它们与集合中其它数据的一般行为或模型不一致,这些数据对象称为孤立点。

  • 孤立点可以使用统计试验检测。它假定一个数据的分布或概率模型,并使用距离度量,到其它数据对象的距离很远的对象被视为孤立点。

  • 基于偏差的方法通过考察一群对象主要特征上的差别识别孤立点,而不是使用统计或距离度量。

  • 孤立点分析通常可以作为聚类分析的副产品,根据聚类分析结果,含有对象个数少于设定阈值的聚类中的事物看作是孤立点。

  1. 预测知识
  • 预测是从历史数据找出变化规律,建立模型,并用此模型预测未来数据种类、特征等。

  • 用分类预测离散数据

  • 用回归分析预测连续数据。

    • 典型的回归分析是利用大量的历史数据,建立线性或非线性回归方程。
    • 根据回归模型,只要输入自变量的值,就可以求出因变量的值,达到对因变量的预测。
  1. 时间序列模式
  • 时间序列分析是描述行为随时间变化的对象的规律或趋势,并对其建模。

  • 包括与时间相关数据的特征、区分、关联、分类或聚类。

  • 根据分析的不同特点分为时间序列数据分析、序列或周期模式匹配和基于类似性的数据分析。

  • 如股票市场的每日波动、动态产品加工过程、科学实验、医学治疗等。

  1. 有价值(感兴趣)的知识

数据挖掘的知识有三个重要问题需要回答:

  • 什么样的模式是有价值(感兴趣)的?价值度量

  • 挖掘系统能产生所有有价值的模式吗?算法的完全性问题

  • 数据挖掘到的模式是否都是有价值的知识?优化问题


三、数据挖掘方法

1.数据挖掘中常用的十三种技术

  统计技术,关联规则,基于历史的分析,遗传算法,聚集检测,连接分析,决策树,神经网络,粗糙集,模糊集,回归分析,差别分析,概念描述等。
【数据挖掘算法与应用】——数据挖掘导论

2.有监督学习

【数据挖掘算法与应用】——数据挖掘导论

 有监督学习通过已有的一部分输入数据与输出数据之间的对应关系生成一个函数,将输入映射到合适到输出,该函数到输出利用是一个连续到值或预测到一个类标识

3.无监督学习

 无监督学习到数据集与有监督学习不同,训练样本不包含类标识信息到学习,即输入数据没有对应到输出类标识。

4.半监督学习

 利用少量有类标识的样本和大量无类标识的样本进行机器学习。

5.主动学习

 先使用已标记的样本数据集训练出一个学习器,再基于该学习器对未标记的样本进行预测,从中挑选出不确定性高或分类置信度低的样本来咨询专家并进行对标,最后使用扩充后的训练集重新训练学习器,能大幅度降低标记成本

6.迁移学习

 迁移学习根据学习领域和任务的相似性,将从一个环境中学到的知识用于新环境中的学习任务,是一种新的机器学习技术。

7.强化学习

 又称再励学习、评价学习,是一种重要的机器学习方法,在职能控制机器人及分析预测等领域有许多应用。


四、数据挖掘过程

【数据挖掘算法与应用】——数据挖掘导论

1.明确目标

  这是数据分析与挖掘的第一步,即明确数据分析的对象、目标、或任务。此环节应该跟业务需求方多次沟通与合作,把握最终要解决的问题。

2.搜集数据

 明确企业面临的痛点或工作中需要处理的问题后,下一步就得规划哪些数据可能会影响到这些问题的答案,这一步就称为数据的搜集过程。

3.数据清洗

 为确保数据分析或挖掘结果的准确性,往往需要对数据做一些基本的清洗和整理,如数据的一致性检验、缺失值和异常值的处理以及无量纲化

4.构建模型

 建模的目的主要是为了预测,例如使用线性回归模型预测产品的销售额;利用决策树模型预测用户是否具有欺诈行为;利用朴素贝叶斯模型预测邮件是否为垃圾邮件。

5.模型评估

 通常情况下,在模型搭建好后,并不意味着分析或挖掘任务的结束,还需要对模型的拟合效果做评估,其目的就是不断优化模型,使最终的模型能够更好地反映数据的真实性。

6.应用部署

 挖掘出来的模式或规律是给真正的业务方或客户服务的,故需要将这些模式重新部署到系统中。这里的部署就是常说的“上线”,方便业务方或客户直接操作搭建的模型。

Fayyad数据挖掘模型
【数据挖掘算法与应用】——数据挖掘导论

CRISP-DM模型

6个不同的但顺序并非完全不变的阶段
实际工程中,经常需要前后调整这些阶段,这取决于一个阶段或该阶段中特定任务的产出物是否是下一阶段必需的输入

1、强调了商业理解
2、强调了实施价值体现
【数据挖掘算法与应用】——数据挖掘导论

  1. 商业理解

  从商业角度来理解项目目标和要求,并把这些理解知识转换成数据挖掘问题的定义和实现目标的最初规划。

1、确定业务目标(包括背景、商业目标和商业成功标准)
2、评估项目环境(包括资源目录、需求、假设和约束、风险和所有费用)
3、确定数据挖掘目标(把业务目标翻译成数据挖掘目标)
4、制定项目计划

  1. 数据理解

  数据理解阶段从初始的数据收集开始,通过一些活动处理,目的是熟悉数据,识别数据的质量问题,首次发现数据的内部属性,或是探测引起兴趣的子集去形成隐含信息的假设。

1、收集原始数据,生成原始数据收集报告。
2、描述数据,生成数据描述报告。
3、探索数据,生成数据探索报告。
4、检验数据质量,生成数据质量报告。

  1. 数据准备

  数据准备是对可用的原始数据进行预处理,使之满足建模需求。这些数据将是模型工具的输入值。这个阶段的任务有一个能执行多次,没有任何规定的顺序。任务包括表、记录和属性的选择,以及为模型工具转换和清洗数据。

1、选择数据。
2、清洗数据,生成数据清洗报告。
3、构造数据。
4、整合数据(数据集成)。
5、数据格式化。

  1. 建立模型

   选择和应用不同的建模技术,模型参数被调整到最佳的数值。一般,有些技术可以解决一类相同的数据挖掘问题。有些技术在数据形成上有特殊要求,因此需要经常跳回到数据处理阶段。

1、选择建模技术。
2、生成测试方案。
3、建立模型。
4、评估模型。

  1. 评价

  已经从数据分析的角度建立了高质量显示的模型。在开始最后部署模型之前,重要的事情是彻底的评估模型,检查构造模型的步骤,确保模型可以完成业务目标。

1、评价结果。
2、重审过程。
3、确定下一步可能的活动列表和最终决定。

  1. 部署

  部署就是将其发现的结果及过程表示为可读文本形式。简单的部署可以是生成一份报告,复杂的部署可能是实施一个覆盖整个企业的可重复的数据挖掘过程。

1、规划部署。
2、规划监控和维护。
3、生成最终报告。
4、回顾项目。


五、数据挖掘的应用

数据挖掘的应用领域

【数据挖掘算法与应用】——数据挖掘导论

  • 数据挖掘应用最集中的领域包括金融、医疗、教育、零售、电商、电信和交通等,而且每个领域都有特定的应用问题和应用背景。

  • 以软件工程数据挖掘为例:
      软件工程数据(软件开发过程中积累的各种数据):可行性分析和需求分析文档、设计文档、使用说明、软件代码和注释、软件版本及其演化数据、测试用例和测试结果、软件开发者之间的通信、用户反馈等。
    【数据挖掘算法与应用】——数据挖掘导论


六、数据挖掘隐私权问题

  • 个人数据隐私权:个人对以数据形式收集和存储在信息系统中的有关自己的资料加以控制和保护的权利。

  • 数据挖掘是建立在大量真实数据分析的基础之上的,这就会产生个人数据的隐私保护问题。

  • 从数据挖掘的角度来看,隐私既可能带来成功,亦可能带来威胁。滥用隐私不仅破坏企业在客户心目中的良好形象,也会将数据挖掘推入灰暗的前景中,阻碍数据挖掘这一新兴技术的采纳、应用和推广。

典型案例

  • 2018年3月18日曝光的Facebook裙带公司剑桥分析公司(Cambridge AnalyticaAnalytic)数据隐私丑闻事件。

  • 剑桥分析公司是美国一家政治数据分析公司,被曝光在未经用户同意的情况下,利用在 Facebook 上获得的5000万用户的个人隐私数据,来创建档案,并在2016美国总统大选期间针对这些人进行定向宣传,有助推特朗普获胜的嫌疑。

  • 该丑闻凸显了Facebook的“DNA”中存在的问题:数据挖掘。


七、小结

  • 数据挖掘是一种解决“数据爆炸但知识贫乏”困境的技术,旨在从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识。

  • 数据挖掘是一类深层次的数据分析方法。它与传统的数据分析以及联机分析处理有本质的不同。数据挖掘采用信息论、集合论、神经网络、遗传算法、模糊数学等方法发现隐藏在数据中概念、关联、分类预测和偏差等类型的知识。

  • 数据挖掘所发现知识的质量与数据的质量密切相关,数据挖掘过程中。原始数据的预处理是工作量最大的一项任务。


八、随堂练习

1 (单选题)
“2000”“60000”表示
正确答案: A

A.
数据
B.
信息
C.
知识
D.
智慧

2 (单选题)

8000米是飞机飞行最大高度”与“10000米的高山”表示
正确答案: B

A.
数据
B.
信息
C.
知识
D.
智慧

3 (单选题)

“飞机无法飞越这座高山”表示
正确答案: D

A.
智慧
B.
信息
C.
数据
D.
知识

4 (单选题)

某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?

正确答案: A

A.
关联规则发现
B.
聚类
C.
分类
D.
自然语言处理

5 (单选题)

当不知道数据所带标签时,可以使用哪种技术促使带同类标签的数据与带其他标签的数据相分离?

正确答案: B

A.
分类
B.
聚类
C.
关联分析
D.
主成分分析

6 (单选题)
什么是KDD?

正确答案: A

A.
数据挖掘与知识发现
B.
领域知识发现
C.
文档知识发现
D.
动态知识发现

7 (多选题)

大数据时代的主要特征( )

正确答案: ABCD

A.
数据量大
B.
类型繁多
C.
价值密度低
D.
速度快时效高

8 (单选题)
下列哪项不是大数据时代的热门技术( )

正确答案: D

A.
数据整合
B.
数据预处理
C.
数据可视化
D.
SQL

9 (单选题)

( )是一种统计或数据挖掘解决方案,包含可在结构化和非结构化数据中使用以确定未来结果的算法和技术。

正确答案: C

A.
主成分分析方法
B.
聚类
C.
预测分析
D.
关联规则算法

10 (单选题)

依据历史数据形成刻画用户特征的类标识,进而可以预测未来数据的归类情况,属于0
正确答案: B

A.
聚类
B.
分类
C.
预测
D.
关联

11 (单选题)
( )在事先不知道数据分类的情况下,根据数据之间的相似程度进行划分,目的是使得同类别的数据对象之间的差别尽可能的小,不同类别的数据对象之间的差别尽可能的大。属于0

正确答案: D

A.
分类
B.
预测
C.
关联
D.
聚类

12 (单选题)

( )基于输入的用户信息,通过模型的训练学习,找出数据中的规律和趋势,以确定未来目标数据的预测值
正确答案: C

A.
聚类
B.
分类
C.
预测
D.
关联

13 (单选题)

从购物篮商品集中找出商品与商品之间的关系,有助于发Tr同商品之间的联系( )
正确答案: D

A.
聚类
B.
分类
C.
预测
D.
关联

14 (判断题)

数据挖掘就是知识发现的过程( )
正确答案: 错

对
错

15 (填空题)

CRlSP-DM过程是正确的顺序是:商业理解、( )、数据准备、( )、模型评估、( )

正确答案:
第1空:数据理解
第2空:建立模型
第3空:结果分布

16 (填空题)

CRlSP-DM是( )的简写

正确答案:跨行业数据挖掘标准过程

17 (判断题)

整个挖掘过程是一个不断反馈的过程( )
正确答案: 对

18 (单选题)

知识发现的英文简写是( )
正确答案: B

A.
DKD
B.
KDD
C.
DM
D.
DA

19 (单选题)

数据挖掘的英文简写是( )
正确答案: C

A.
DKD
B.
KDD
C.
DM
D.
DA

20 (单选题)

CRlSP-DM过程模型过程包括( )个阶段
正确答案: B

A.
5
B.
6
C.
7
D.
8

21 (简答题)

请简述KDD和数据挖掘的区别?

KDD是指数据库中的知识发现 数据挖掘是指从大量的不完全的、有噪声的、模糊的、随机的、实际应用数据中提取出隐含在其中人们事先不知道而又是潜在有用的信息或知识的平凡的过程

22 (填空题)

OLAP是( )的简称

正确答案:联机分析处理

23 (填空题)

数据挖掘是指从大量的、( )、( )、模糊的、随机的实际应用数据中提取出隐含在其中、人们事先不知道而又潜在有用的信息或知识的非平凡过程。

正确答案:
第1空: 不完全的
第2空: 有噪声的

24 (填空题)

OLAP的操作有( )、下钻、( )、切块和( )

正确答案:
第1空:上卷
第2空:切片
第3空:旋转

25 (填空题)
( )是对可用的原始数据进行预处理,使之满足建模需求。

正确答案:数据准备


普洱学院 19信计班 数据挖掘学习笔记