什么是数据挖掘和知识发现

摘要:我对做事的流程非常感兴趣。我想要知道一些可以把事情做好的好方法,甚至在可能的情况下可以知道做这些事情的最好方式。就算你的技能不强,理解相关方面的知识不深,这个过程也可以帮你在后面长时间的过程中解决这些问题。它可以指引你如何变得更有技能,同时对相关知识有深层次的了解。至少,我曾经就是用这样的方式完成了很多的工作。

我认为学习数据挖掘是很有用的,正如它以从数据中进行发现的过程的形式展现出来的那样。在这篇文章中,你会从相关的教材和论文中探索一些关于“数据挖掘”的官方定义。就像数据挖掘是一个过程那样,数据挖掘的定义会包括好几个关于这个过程的解释。

比较权威的教材

在这部分当中,我们会从两本涉及数据挖掘领域的权威教材中寻找关于“数据挖掘”的定义。

数据挖掘:使用的机器学习工具和方法

什么是数据挖掘和知识发现

这是一本由Lan Witten和Eibe Frank编写的教材。

在这本书的序言中,作者是这样作序的:

“数据挖掘是对一些含蓄的、我们事先不知道的而又是非常有用的信息数据的提取过程。它的思想则是编一套程序,这套程序帮助我们动态的筛选数据集,寻找其中相关的规律和模型。如果能找到一个很好的模型,它更有可能会推广到对未来的数据进行准确的预测……机器学习则会基于数据挖掘提供相应的方法。这用于从一个包含未经处理的数据集中提取相关的信息….”

在这本书的第一章中,作者是这样写的:

“数据挖掘是一个被定义为从数据中发现相关的模型的过程。这个过程必须是自动的(通常是这种情况)或者是半自动的。而这些被发现的模型必须在它可以给我们带来一些好处,尤其是经济利益的时候才有意义,因为数据总是大量的存在。”

在我早期入行就读了这本书,而且这本书讲到关于数据挖掘的定义和它与机器学习的联系与我当时工作联系十分紧密。每当我使用机器学习方法的时候,我总会使用一个与数据挖掘类似的过程,除非我没有从本质上尝试去发现一个模型,这时我更偏向于针对一个定义的问题寻找一个“足够好”的解决方案。

数据挖掘:概念和方法

什么是数据挖掘和知识发现

这是由韩家炜(美国伊利诺伊大学香槟分校计算机系正教授)和Mucheline Kamber编写的教材。

这本教材的序言是这样的:

“数据挖掘,很多人又把它称作是对数据的知识发现(KDD),是一个动态和简便的抓取方式,而其中相关模型所展现出的复杂的知识是从大的数据集、数据仓库、网页,以及其它一些大型的信息库或数据流中被存储或抓取起来。”

这里和知识发现的定义有一点点不错,在我看来主要是涉及这一领域的一些准则。我相信一个更能被人接受的KDD定义是被称作数据集中的知识发现。

在教材的第一章中,作者概括了知识发现的过程(在书本的7到8页):

数据清洗:移除一些不完整的和对结果有影响的数据。

数据整合:把多个数据源的数据进行组合。

数据选择:哪里的数据和我们的分析任务相关,我们从那个数据集里找出这些数据。

数据转换:当数据已经经过转换处理并形成一个合适的数据挖掘形式以后,我们需要在此进行归纳和整合操作。

数据挖掘:这是应用智能方法来提取数据并建立模型的核心过程。

模型预测:确认一个真正有趣的模型,这个模型是基于兴趣展现出相关的知识。

知识展示:通过可视化操作和知识展现的方法给用户展示通过挖掘得出的信息。

在这本书中,作者注释到:数据挖掘通常来说可能更加倾向于整个知识挖掘的过程,因为它是一个短期的过程。

具有权威性的文章

在这部分,我们会在这一领域一些具有权威性的文章来探索数据库方面的知识挖掘这一过程。这些文章都是repreitable方法的杂志而不是过往的期刊。因此,一些不太正式的口味被用到了一个高级话题的有用的讨论中。

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

这是一篇由Usama Fayyad,Gregory Piatetsky-Shapiro和Padhraic Smyth写的,并在1996年刊登在AL杂志的文章。

他们把KDD看作是数据库的知识挖掘,而下面的这个定义我们则更加熟悉:

“KDD领域是随着数据的了解的方法和技能的发展,而这个过程的核心则是特殊的数据挖掘的方法在模型的发现和提取方面的应用。”

还有:

“KDD被用于从数据中发现有用的知识的整个过程,而且数据挖掘在这个过程中是很多人都会使用的一个特殊的步骤。数据挖掘是采用特殊的算法从数据中提取出相关模型的应用。”

作者在一张含有一个函数实体的箱子,以及这个过程里箱子被转化为箱子的图片提供了一个很好的归纳。下面是这样归纳的:我一般对于使用图片来解释说明都抱有谨慎的态度,不好意思,如果这个时候正式出版就比较困难了。

第一步:选择(从数据中找到目标数据)。

第二步:预处理过程(对目标数据进行处理)。

第三步:转换(把预处理过的数据进行转化处理)。

第四步:数据挖掘(对经过转换处理的数据进行建模)。

第五步:从知识的角度分析和评估这个模型。

这个过程很简单,而且我喜欢把这个模型用到我遇到的问题中。

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

这是一篇由 Usama Fayyad、Gregory Piatetsky-Shapiro和Padhraic Smyth在1996年在ACM通信上面的文章。

在这篇文章中,作者对KDD过程作了一个更详细的归纳。这篇涉及更多细节的版本的文章是“从数据挖掘……”,但我觉得这篇文章表达的内容不够清晰。这篇涉及更多关于KDD过程的细节的文章经过一点修改如下:

明白其中的应用领域和这个过程的目标。

对所以可行的数据建立一个数据集子集。

数据清洗和数据预处理可以去除其中的杂质、处理错误的数据和极端值。

数据的简化和预测是为了能把焦点集中到与问题相关的功能上。

这是一个数据挖掘方法匹配其相应目的的过程。决定这个模型使用的目的,比如归纳和分类。

选择一个可以与相应模型使用的目的匹配的数据挖掘的算法(第五步的延续)。

数据挖掘,即,在数据上运行算法。

挖掘模型的解释是为了能让用户更好的明白其中的结果,诸如采用归纳和可视化操作的方法。

在已发现的知识上进行操作,诸如报告和决策。

我喜欢在这个过程中看到信息。这应了我的需要去明白使用这个过程的目的,以及可以持续的运行一个算法从而选出可以与这个目的匹配的模型。

总结归纳

通过阅读这篇文章,你已经知道了数据挖掘是一个对现有的数据进行知识发现和挖掘出一个模型的过程。你也从中知道了这个过程通常包括几个步骤包含了数据的展现、算法的运行和结果的展现。

你从中学到了机器学习是用于数据挖掘的工具,而数据挖掘又是在数据库进行知识发现或KDD的一个很重要的步骤,而这两者又是在这个术语中是相提并论的,因为这样比较容易表达。

你也知道了当你在你的项目运用机器学习的时候,你可能会运行一些KDD过程的模式,而这个过程是有目的的解决一个问题而不是只是做知识发现。

资源

如果你还想作更深入的了解,你可以在以下的资源中读到更多相关文章,而这些文章都用在研究中,资源如下:

Data Mining: Practical Machine Learning Tools and Techniques (affiliate link)

Data Mining: Concepts and Techniques (affiliate link)

From Data Mining to Knowledge Discovery in Databases (google scholar), 1996

The KDD Process for Extracting Useful Knowledge from Volumes of Data (google scholar), 1996

你是怎样理解数据挖掘的,而你又是怎样理解机器学习如何适应于数据挖掘的请你留言分享你的见解。

原文链接:http://machinelearningmastery.com/what-is-data-mining-and-kdd/

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(1)
上一篇 2015-11-18 22:51
下一篇 2015-11-21 21:33

相关文章

关注我们
关注我们
分享本页
返回顶部