21、什么是数据挖掘和KDD(知识发现)

我对流程很感兴趣。我想知道做事的好方法,即使是最好的办法,如果可能的话。即使您没有技能或深刻理解,过程也可以帮到您。它可以引领方式,技能和深刻的理解可以遵循。至少,我用它来推动我的大部分工作。

我认为研究数据挖掘是有用的,因为它是一个从数据中发现的过程。在这篇文章中,您将从教科书和论文中探索“数据挖掘”的权威定义。由于数据挖掘是一个过程,因此定义将包括对过程的许多解释。

image.png

金矿
照片信誉GSofV,保留一些权利

权威教科书

在本节中,我们将从该领域的两本权威教科书中查看“数据挖掘”的定义。

数据挖掘:实用的机器学习工具和技术

image.png

这是Ian Witten和Eibe Frank的教科书。

作者在前言中评论道:

“数据挖掘是从数据中提取隐含的,以前未知的,可能有用的信息。我们的想法是构建自动筛选数据库,寻求规律或模式的计算机程序。如果找到强有力的模式,可能会推广以对未来数据做出准确的预测。...机器学习为数据挖掘提供了技术基础。它用于从数据库中的原始数据中提取信息......“

在本书的第1章中,作者写道:

“数据挖掘被定义为发现数据模式的过程。该过程必须是自动的(或更常见的)半自动的。发现的模式必须有意义,因为它会带来一些优势,通常是经济优势。数据总是大量存在。“

我在进入该领域的早期就读过这本书,这个数据挖掘的定义及其与机器学习的关系一直困扰着我。当我应用机器学习方法时,我应用一个看起来像数据挖掘过程的过程,除了我不是试图发现模式本身,而是我试图为一个定义良好的问题找到一个“足够好”的解决方案。

数据挖掘:概念和技术

亚马逊影像
这是Jiawei Han和Micheline Kamber的教科书。

在作者的序言中写道:

“数据挖掘,通常也被称为数据知识发现(KDD),是自动或方便地提取模式,表示在大型数据库,数据仓库,Web,其他海量信息库或数据流中隐式存储或捕获的知识。”

这是KDD略有不同的定义,我认为这是该领域的标准。我相信KDD的首选定义是数据库中的知识发现。

在第1章中,作者总结了KDD过程(第7页和第8页):

  1. 数据清理,以消除噪音和不一致的数据。
  2. 数据集成,可以组合多个数据源。
  3. 数据选择,从数据库中检索与分析任务相关的数据。
  4. 数据转换,通过预先形成汇总或汇总操作,将数据转换并合并为适合挖掘的形式。
  5. 数据挖掘,这是一个必不可少的过程,其中应用智能方法来提取数据模式。
  6. 模式评估,以基于有趣的度量来识别代表知识的真正有趣的模式。
  7. 知识呈现,其中可视化和知​​识表示技术用于向用户呈现挖掘的知识。

在本书中,作者评论说数据挖掘更常见的是从数据过程中引用整个知识发现,可能是因为它是一个较短的术语。

权威文章

在本节中,我们将在该领域的权威文章中探索数据库中的知识发现(KDD)的过程。这些都是可重复技术的macgainze文章,而不是同行评审的期刊文章。然而,较不正式的语气允许对这一高级主题进行有益的讨论。

从数据挖掘到数据库中的知识发现

这是1996年由Usama Fayyad,Gregory Piatetsky-Shapiro和Padhraic Smyth撰写的AI杂志上的一篇文章。

他们将KDD定义为数据库中的知识发现,这是我更熟悉的定义:

“...... KDD领域关注的是开发用于理解数据的方法和技术。......该过程的核心是应用特定的数据挖掘方法进行模式发现和提取。“

“... KDD是指从数据中发现有用知识的整个过程,而数据挖掘是指此过程中的特定步骤。数据挖掘是特定算法的应用,用于从数据中提取模式。“

作者在图片中提供了有用的KDD摘要,其中包含框中的实体和将框连接为实体上的变换的过程。该描述总结如下。我很勉强重现图像,对不起,正式出版物在这方面可能很难。

  • 第1步:选择(数据到目标数据)
  • 第2步:预处理(将目标数据转换为已处理数据)
  • 第3步:转换(将处理后的数据转换为转换数据)
  • 第4步:数据挖掘(将数据转换为模式)
  • 第5步:将解释和/或评估模式转化为知识)

这个过程很简单,它是我在处理问题时喜欢使用的模型。

从数据量中提取有用知识的KDD过程

这是1996年由Usama Fayyad,Gregory Piatetsky-Shapiro和Padhraic Smyth在ACM通讯中的一篇文章。

在本文中,作者给出了KDD过程的更详细的总结。这个更详细的版本在上面的“From Data Mining ...”文章中,但我感觉不太清楚。下面将更详细地概述KDD过程。

  1. 了解应用程序域和过程的目标
  2. 创建目标数据集作为所有可用数据的子集
  3. 数据清理和预处理,以消除噪音,处理丢失的数据和异常值
  4. 数据缩减和投影,以便专注于与问题相关的功能
  5. 将进程的目标与数据挖掘方法相匹配。确定模型的目的,例如摘要或分类。
  6. 选择数据挖掘算法以匹配模型的目的(从步骤5开始)
  7. 数据挖掘,即在数据上运行算法。
  8. 解释挖掘的模式以使用户可以理解,例如摘要和可视化。
  9. 根据发现的知识,例如报告或做出决定。

我喜欢这个过程中的细节。它确实说明了理解过程目标的必要性,并且持久选择的算法与这些目标相匹配。

摘要

在这篇文章中,您了解到数据挖掘是从数据中发现模式。您了解到,这是一个由许多步骤组成的过程,包括数据准备,算法运行和结果表示。

您了解到机器学习是数据挖掘中使用的工具,数据挖掘实际上是数据库或KDD中知识发现过程中的一个步骤,并且它已经成为术语的同义词,因为它更容易说。

您了解到,当您从事机器学习项目时,您可能正在执行某种形式的KDD流程,其具体目标是解决问题而不是进行发现。

资源

如果您想深入了解,可以阅读下面这篇文章的研究中使用的更多信息。

  • 数据挖掘:实用机器学习工具和技术(会员链接)
  • 数据挖掘:概念和技术(会员链接)
  • 从数据挖掘到数据库中的知识发现(谷歌学者),1996
  • 1996年,从数据量中提取有用知识的KDD过程(谷歌学者)

你可能感兴趣的:(21、什么是数据挖掘和KDD(知识发现))