首页 > 代码库 > 程序员怎能不知道什么是数据挖掘
程序员怎能不知道什么是数据挖掘
视乎已经听到或看到无数遍数据挖掘了,那么,你知道那是什么吗?关于什么是数据挖掘,很多学者和专家给出了不同的定义,以下我们列出几种常见的说法:
“简单地说,数据挖掘是从大量数据中提取或‘挖掘’知识。该术语实际上有点用词不当。数据挖掘应当更正确地命名为‘从数据中挖掘知识’,不幸的是它有点长。许多人把数据挖掘视为另一个常用的术语‘数据库中知识发现’或KDD的同义词。而另一些人只是把数据挖掘视为数据库中知识发现过程的一个基本步骤。” ——《数据挖掘:概念与技术》(FreeEIM J. Han and M. Kamber)
“数据挖掘就是对观测到的数据集(经常是很庞大的)进行分析,目的是发现未知的关系和以数据拥有者可以理解并对其有价值的新颖方式来总结数据。”——《数据挖掘原理》(David Hand, et al)
“运用基于计算机的方法,包括新技术,从而在数据中获得有用知识的整个过程,就叫做数据挖掘。”——《数据挖掘--概念、模型、方法和算法》(Mehmed Kantardzicopeneim)
“数据挖掘,简单地说,就是从一个数据库中自动地发现相关模式。”——《构建面向CRM的数据挖掘应用》(Alex Berson, et al)
“数据挖掘(DM)是从大型数据库中将隐藏的预测信息抽取出来的过程。”——《数据挖掘:机遇与挑战》(John Wang)
而作为数据挖掘领域的华人第一人,韩家炜教授在《数据挖掘:概念与技术》的教学幻灯片中,给出一个更清晰的定义:“数据挖掘,就是从大型数据库中抽取有意义的(非平凡的,隐含的,以前未知的并且是有潜在价值的)信息或模式的过程。”
这里我们可以看到数据挖掘具有以下几个特点:
l 基于大量数据:并非说小数据量上就不可以进行挖掘,实际上大多数数据挖掘的算法都可以在小数据量上运行并得到结果。但是,一方面过小的数据量完全可以通过人工分析来总结规律,另一方面来说,小数据量常常无法反映出真实世界中的普遍特性。
l 非平凡性:所谓非平凡,指的是挖掘出来的知识应该是不简单的,绝不能是类似某著名体育评论员所说的“经过我的计算,我发现了一个有趣的现象,到本场比赛结束为止,这届世界杯的进球数和失球数是一样的。非常的巧合!”那种知识。这点看起来勿庸赘言,但是很多不懂业务知识的数据挖掘新手却常常犯这种错误。
l 隐含性:数据挖掘是要发现深藏在数据内部的知识,而不是那些直接浮现在数据表面的信息。常用的BI工具,例如报表和OLAP,完全可以让用户找出这些信息。
l 新奇性:挖掘出来的知识应该是以前未知的,否则只不过是验证了业务专家的经验而已。只有全新的知识,才可以帮助企业获得进一步的洞察力。
l 价值性:挖掘的结果必须能给企业带来直接的或间接的效益。有人说数据挖掘只是“屠龙之技”,看起来神乎其神,却什么用处也没有。这只是一种误解,不可否认的是在一些数据挖掘项目中,或者因为缺乏明确的业务目标,或者因为数据质量的不足,或者因为人们对改变业务流程的抵制,或者因为挖掘人员的经验不足,都会导致效果不佳甚至完全没有效果。但大量的成功案例也在证明,数据挖掘的确可以变成提升效益的利器。
“数据挖掘”这个术语是在什么时候被大家普遍接受的,已经难以考证,大约在上世纪90年代开始兴起。其中还有一段趣话。在科研界,最初一直沿用“数据库中的知识发现”(即KDD,Knowledge Discovery in Database5z20)。在第一届KDD国际会议中,委员会曾经展开讨论,是继续沿用KDD,还是改名为Data Mining(数据挖掘)?最后大家决定投票表决,采纳票数多的一方的选择。投票结果颇有戏剧性,一共14名委员,其中7位投票赞成KDD,另7位赞成Data Mining。最后一位元老提出“数据挖掘这个术语过于含糊,做科研应该要有知识”,于是在科研界便继续沿用KDD这个术语。而在商用领域,因为“数据库中的知识发现”显得过于冗长,就普遍采用了更加通俗简单的术语——“数据挖掘”。
严格地说,数据挖掘并不是一个全新的领域,它颇有点“新瓶装旧酒”的意味。组成数据挖掘的三大支柱包括统计学、机器学习和数据库等领域内的研究成果,其它还包含了可视化、信息科学等内容。数据挖掘纳入了统计学中的回归分析、判别分析、聚类分析以及置信区间等技术,机器学习中的决策树、神经网络等技术,数据库中的关联分析、序列分析等技术。
原文:程序员怎能不知道什么是数据挖掘
程序员怎能不知道什么是数据挖掘