导读:在本文中,我们将介绍如下主题:
什么是数据挖掘?要确定数据挖掘在不断增强的其他相似概念中的位置,还将学习这一学科成长和变化的历史。
我们如何进行数据挖掘?在此,我们将对比数据挖掘项目中常用的几种过程或者方法论。
数据挖掘中使用哪些技术?在这一部分,将总结数据挖掘定义中包含的典型数据分析技术,并强调这本精通级书籍将要涵盖的较为独特却未得到应有重视的技术。
作者:梅甘·斯夸尔
如需转载请联系大数据(ID:hzdashuju)
01 什么是数据挖掘
数据挖掘的目标是找出数据中的模式,但是细看之下,这一过分简单的解释就站不住脚。
毕竟,寻找模式难道不也是经典统计学、商业分析、机器学习甚至更新的数据科学或者大数据的目标吗?数据挖掘和其他这些领域有什么差别呢?当我们实际上是忙于挖掘模式时,为什么将其称作“数据挖掘”?我们不是已经有数据了吗?
从一开始,“数据挖掘”这一术语就明显有许多问题。这个术语最初是统计学家们对盲目调查的轻蔑叫法,在这种调查中,数据分析人员在没有首先形成合适假设的情况下,就着手寻找模式。
但是,这一术语在20世纪90年代成为主流,当时的流行媒体风传一种激动人心的研究,将成熟的数据库管理系统领域与来自机器学习和人工智能的最佳算法结合起来。
“挖掘”这一单词的加入预示着这是现代的“淘金热”,执著、无畏的“矿工”们将发现(且可能从中得益)之前隐藏的珍宝。“数据本身可能是珍稀商品”这一思路很快吸引了商业上和技术刊物的注意,使他们无视先驱们努力宣传的、更为全面的术语——数据库中的知识发现(KDD)。
但是,“数据挖掘”这一术语沿用了下来,最终,该领域的一些定义试图改变其解释,认为它指的只是更漫长、更全面的知识发现过程中的一步。今天“数据挖掘”和KDD被视为非常相似、紧密相关的术语。
那么,其他相关术语如机器学习、预测性分析、大数据和数据科学又是怎么回事?这些术语和数据挖掘或者KDD是不是一回事?下面我们比较这些术语:
我们可以查看Google Trends,了解上述术语在一段时期内的搜索热度。Google Trends工具展示了一段时期内人们搜索各种关键词的频度。
在图1-1中,新出现的术语“大数据”目前是炙手可热的流行语,“数据挖掘”居于第二位,然后是“机器学习”“数据科学”和“预测性分析”。(我试图加入搜索词“数据库中的知识发现”,但是结果太接近于0,无法看到趋势线。)
y轴以0~100的指数显示了特定搜索词的流行度。此外,我们还将Google Trends给出的2014~2015年每周指数组合为月平均值。
▲图1-1 5个常用数据相关术语的Google Trends搜索结果
02 如何进行数据挖掘
由于数据挖掘传统上被视为KDD全过程中的一步,并且越来越成为数据科学过程的一部分,在本文中我们将熟悉其所涉及的步骤。进行数据挖掘有多种流行的方法。
1. Fayyad等人的KDD过程
知识发现和数据挖掘过程的早期版本之一由Usama Fayyad、Gregory Piatetsky-Shapiro和 Padhraic Smyth在1996年的一篇论文(The KDD Process for Extracting Useful Knowledge from Volumes of Data)中定义。
这篇论文在当时很重要,它将快速变化的KDD方法论精炼为具体的一组步骤。如下步骤以原始数据开始,以知识作为结束:
由于这一过程从原始数据得出知识,因此,这些作者对“数据库中的知识发现”这一术语作出了真正的贡献,而不仅仅是简单的数据挖掘。
2. 韩家炜等人的KDD过程
韩家炜、Micheline Kamber和裴健所著的流行数据挖掘教科书《Data Mining: Concepts and Techniques》描述了知识发现过程的另一个版本,其中的步骤也是从原始数据导出知识:
在Fayyad和韩的方法中,都预计该过程在必要时需要多次重复这些步骤。例如,如果在变换步骤中,分析人员发现需要再进行一次数据清理或者预处理,这两种方法都规定分析人员应该按原路返回,完成前面未完成步骤的第二次迭代。
3. CRISP-DM过程
KDD过程的第3种流行版本称为CRISP-DM,其用于许多商业和应用领域,它的全称是CRoss-Industry Standard Process for Data Mining(跨行业数据挖掘标准过程),包含如下步骤:
这种方法的优势之一是,迭代是内建的。在特定步骤之间,分析人员将检查当前步骤仍然与之前的某些步骤保持一致。另一个优势是明确地提醒分析人员,即使在评估步骤中也要将业务问题放在项目的核心位置。
4. 六步过程
当我在大学里教授数据科学入门课程时,使用了自己创造的一种混合方法。这种方法称为“六步过程”,这种专门设计的方法对于授课很合适。
我的六步方法消除了没有经验的学生在CRISP-DM中的开放式任务(如业务理解)或者基于企业任务(如部署)中可能遇到的歧义问题。
此外,六步方法要求学生在过程的开始和最后回答“为什么这么做”和“这有什么意义”的问题,以拓展学生的批判性思维技能。我的六步方法如下:
5. 哪一种数据挖掘方法最好
2014年,Gregory Piatetsky-Shapiro在其非常受欢迎的数据挖掘电子邮件通讯KD-Nuggets上进行的调查包含了一个问题:“你在分析、数据挖掘或者数据库科学项目中使用哪一种主要方法?”
这些结果和2007年同一邮件通讯所做的相同调查结果类似。
我的最佳建议是,不要过于重视用于数据挖掘项目的方法,随便挑一种即可。如果完全不使用任何方法,那么就有遗漏重要步骤的危险。选择看上去对你的项目和需求有效的方法,然后尽可能遵循该方法的步骤。
03 在数据挖掘中使用哪些技术
现在我们对数据挖掘在整个KDD或者数据科学过程中的位置有了了解,下面就可以开始讨论完成这一任务的细节了。
从试图定义数据挖掘的早期起,几类相关的问题就一再出现。Fayyad等人在1996年的另一篇重要论文“From Data Mining to Knowledge Discovery in Databases”中提出了6类问题,我们将其总结如下:
在同年撰写的另一篇论文中,这些作者还加入了其他几种类别:
韩家炜、Kamber和裴健在前面提及的教科书中描述了数据挖掘所能解决的4类问题,并进一步将其分为描述性和预测性两大类。描述性数据挖掘意味着找出模式,帮助我们理解拥有的数据。预测性数据挖掘意味着找出模式,帮助我们预测尚未拥有的数据。
在描述性类别中,他们列出了如下数据挖掘问题:
在预测性类别中,他们列出了如下问题:
很容易看出,Fayyad等人和韩家炜等人的问题列表有许多相似之处,只是项目的分组不同。确实,如果你过去曾经完成过数据挖掘项目,这两个列表上出现的项目就是你可能已经熟悉的数据挖掘问题。分类、回归和聚类是非常流行的基本数据挖掘技术,所以从业者们所看到的每本数据挖掘书籍几乎都介绍过它们。
本文摘编自《Python数据挖掘:概念、方法与实践》,经出版方授权发布。
延伸阅读《Python数据挖掘:概念、方法与实践》
点击上图了解及购买
转载请联系微信:DoctorData
推荐语:在本书中,你将深入许多数据挖掘中常被忽视的领域,包括关联规则挖掘、实体匹配、网络挖掘、情绪分析、命名实体识别、文本摘要、主题建模和异常检测。对于每种数据挖掘技术,我们将在比较解决每种问题所用的各种策略之前,研究目前新的佳实践。然后,将用来自软件工程领域的实际数据,实现示例解决方案,并学习理解和解读所得结果的方法。