简介
什么是 数据挖掘?您会不时地问自己这个问题,因为这个主题 越来越得到技术界的关注。您可能听说过像 Google 和 Yahoo! 这样的公司都在 生成有关其所有用户的数十亿的数据点,您不禁疑惑,“它们要所有这些 信息干什么?”您可能还会惊奇地发现 Walmart 是最为先进的进行数据挖 掘并将结果应用于业务的公司之一。现在世界上几乎所有的公司都在使用数据挖 掘,并且目前尚未使用数据挖掘的公司在不久的将来就会发现自己处于极大的劣 势。
那么,您如何能让您和您的公司跟上数据挖掘的大潮呢?
我 们希望能够回答您所有关于数据挖掘的初级问题。我们也希望将一种免费的开源 软件 Waikato Environment for Knowledge Analysis (WEKA) 介绍给您,您可 以使用该软件来挖掘数据并将您对您用户、客户和业务的认知转变为有用的信息 以提高收入。您会发现要想出色地完成挖掘数据的任务并不像您想象地那么困难 。
此外,本文还会介绍数据挖掘的第一种技术:回归,意思是根据现有的数据 预测未来数据的值。它可能是挖掘数据最为简单的一种方式,您甚至以前曾经用 您喜爱的某个流行的电子数据表软件进行过这种初级的数据挖掘(虽然 WEKA 可 以做更为复杂的计算)。本系列后续的文章将会涉及挖掘数据的其他方法,包括 群集、最近的邻居以及分类树。(如果您还不太知道这些术语是何意思,没关系 。我们将在这个系列一一介绍。)
什么是数据挖掘?
数据挖掘, 就其核心而言,是指将大量数据转变为有实际意义的模式和规则。并且,它还可 以分为两种类型:直接的和间接的。在 直接的 数据挖掘中,您会尝试预测一个 特定的数据点 — 比如,以给定的一个房子的售价来预测邻近地区内的其 他房子的售价。
在 间接的 数据挖掘中,您会尝试创建数据组或找到现 有数据内的模式 — 比如,创建 “中产阶级妇女”的人群。实 际上,每次的美国人口统计都是在进行数据挖掘,政府想要收集每个国民的数据 并将它转变为有用信息。
现代的数据挖掘开始于 20 世纪 90 年代,那 时候计算的强大以及计算和存储的成本均到达了一种很高的程度,各公司开始可 以自己进行计算和存储,而无需再借助外界的计算帮助。
此外,术语数 据挖掘是全方位的,可指代诸多查看和转换数据的技术和过程。因为本系列只触 及能用数据挖掘实现的功能的一些皮毛。数据挖掘的专家往往是数据统计方面的 博士,并在此领域有 10-30 年的研究经验。这会为您留下一种印象,即只有大 公司才能负担得起数据挖掘。
我们希望能够清除有关数据挖掘的这些误 解并希望弄清楚一点:数据挖掘既不像对一系列数据运行一个电子数据表函数那 么简单,也不像有人想的那样难到靠自己根本无法实现。这是 80/20 范型的一 个很好的例子 — 甚至更进一步可以是 90/10 范型。您用所谓的数据挖掘 专家的 10% 的专业知识就能创建具有 90% 效力的数据挖掘模型。而为了补上模 型剩下的 10% 的效力并创建一个完美的模型将需要 90% 额外的时间,甚至长达 20 年。所以除非您立志以数据挖掘为职业方向,否则“足够好”就 可以了。从另一个方面看,利用数据挖掘所达到的“足够好”总要比 您现在所采用的其他技术要好。
数据挖掘的最终目标就是要创建一个模 型,这个模型可改进您解读现有数据和将来数据的方式。由于现在已经有很多数 据挖掘技术,因此创建一个好的模型的最主要的步骤是决定要使用哪种技术。而 这则极大地依赖于实践和经验以及有效的指导。这之后,需要对模型进行优化以 让它更令人满意。在阅读了本系列的文章后,您应该能够自己根据自己的数据集 正确决定要使用的技术,然后采取必要的步骤对它进行优化。您将能够为您自己 的数据创建一个足够好的模型 。
WEKA
数据挖掘绝非大公司的专 有,也不是多昂贵的软件。实际上,有一种软件可以实现那些价格不菲的软件所 能实现的全部功能 — 这个软件就是 WEKA。WEKA 诞生于 University of Waikato(新西兰)并在 1997 年首次以其现代的格式实现。它使用了 GNU General Public License (GPL)。该软件以 Java 语言编写并包含了一 个 GUI 来与数据文件交互并生成可视结果(比如表和曲线)。它还有一个通用 API,所以您可以像嵌入其他的库一样将 WEKA 嵌入到您自己的应用程序以完成 诸如服务器端自动数据挖掘这样的任务。
我们继续并安装 WEKA。因为它基于 Java,所以如果您在计算机上没有安装 JRE,那么请下载一个包含 JRE 的 WEKA 版本。
图 1. WEKA 的开始屏