数据挖掘 - 概述篇

数据挖掘 - 概述


在这里插入图片描述


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

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

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

一、历史

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

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

二、定义

数据挖掘有以下这些不同的定义:

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

尽管通常数据挖掘应用于数据分析,但是像人工智能一样,它也是一个具有丰富含义的词汇,可用于不同的领域。 它与KDD(Knowledge discovery in databases)的关系是:KDD是从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程;而数据挖掘是KDD通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤。 事实上,在现今的文献中,这两个术语经常不加区分的使用。

三、本质

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

四、过程

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

  • 数据选择(从数据源中抽取相关数据集)
  • 预处理
    • 数据清洗(清除噪音和删除不一致的数据)
    • 数据集成(多种数据源组合在一起)
    • 数据规约
      (数据集的简化表示)
    • 数据变换和数据离散化:
      (光滑,属性构造,聚集,规范化,离散化和概念分层)
  • 数据挖掘
  • 模式评估(根据某种兴趣度量值,识别代表知识的真正有趣的模式)
  • 知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)

预处理

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

数据挖掘

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

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

结果验证

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


五、隐私问题及伦理

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


六、技术

数据挖掘吸纳了诸如统计学、机器学习、模式识别、数据库和数据仓库、信息检索、可视化、算法、高性能计算 和 许多应用领域的大量技术。

1. 统计学:

统计学研究数据的收集、分析、解释 和 表示。统计模型是一组数学函数,广泛用于对数据和数据类建模,它们用随机变量及其概率分布刻画目标类对象的行为。

2. 机器学习:

机器学习考察计算机如何 如何基于数据学习(或提高它们的性能)。主要研究领域是,计算机程序 基于数据自动地学习识别复杂的模式,并做出智能的决断。

  • 监督学习
      包括:分类、估计、预测。
  • 无监督学习
      包括:聚类,关联规则分析。
  • 半监督学习
  • 主动学习

3. 数据库系统与数据仓库:

  数据库系统研究关注为单位和最终用户创建、维护和使用数据库。特别是,数据库系统研究者们已经建立数据建模、查询语言、查询处理与优化方法、数据存储以及索引和存取方法的公认规则。数据库系统因其在处理非常的、相对结构化的数据集方面的高度可伸缩性而闻名。
  许多数据挖掘任务都需要处理大型数据集,甚至是处理实时的快速流数据。因此数据挖掘可以很好地利用可伸缩的数据库技术,以便获得在大型数据集上的高效率和可伸缩性。此外,数据挖掘任务也可以用来扩充已有数据库系统的能力,以便满足高端用户复杂的数据分析需求。
  新的数据库系统使用数据仓库和数据挖掘机制,已经在数据库的数据上建立了系统的数据分析能力。数据仓库集成来自多种数据源和各个时间段的数据。它在多维空间合并数据,形成部分物化的数据立方体。数据立方体不仅有利于多维数据库的OLAP,而且推动了多维数据挖掘。

七、例子

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

八、工具

  1. 编程语言:python
    分为2.x 和3.x版本,我采用了3.x版本
  2. 编程工具:Anaconda + PyCharm
    Anaconda提供了一些安装好的python库,
    PyCharm是python的开发IDE
  3. 交互工具:jupyter notebook
    jupyter notebook配置参考:https://www.cnblogs.com/zlslch/p/6984403.html

九、科学计算库

  1. NumPy:
    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
  • 高性能科学计算和数据分析的基础包
  • ndarray,多维数组(矩阵),具有矢量运算能力,快速,节省空间
  • 矩阵运算,无需循环,可完成类似Matlab的矢量运算
  • import numpy as np
    在这里插入图片描述
    1)创建ndarray:
    np.array(collection)
    np.arange()
  1. SciPy:
  • 在NumPy库的基础上增加了众多的数学、科学及工程常用的函数库
  • 线性代数、常微分方程求解、信号处理、图像处理、稀疏矩阵等
  • import scipy as sp


参考资料

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值