所谓的数据挖掘是指从数据库中的大量数据中揭示隐式、先前未知和潜在有价值信息的非平凡过程。数据挖掘是一种基于人工智能、机器学习、模式识别、统计、数据库、可视化等技术的决策支持过程。对企业数据进行自动分析,进行归纳推理,挖掘潜在模式,帮助决策者调整市场战略,降低风险,做出正确的决策。
接下来,我们来大致学习一下数据挖掘的基本步骤。数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示三个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。
数据挖掘过程模型步骤主要包括定义问题、建立数据挖掘库、分析数据、准备数据、建立模型、评价模型和实施。
下面让我们来具体看一下每个步骤的具体内容:
定义问题。在开始知识发现之前最先的也是最重要的要求就是了解数据和业务问题。必须要对目标有一个清晰明确的定义,即决定到底想干什么。比如,想提高电子信箱的利用率时,想做的可能是“提高用户使用率”,也可能是“提高一次用户使用的价值”,要解决这两个问题而建立的模型几乎是完全不同的,必须做出决定。
建立数据挖掘库。建立数据挖掘库包括以下几个步骤:数据收集,数据描述,选择,数据质量评估和数据清理,合并与整合,构建元数据,加载数据挖掘库,维护数据挖掘库。
分析数据。分析的目的是找到对预测输出影响最大的数据字段,和决定是否需要定义导出字段。如果数据集包含成百上千的字段,那么浏览分析这些数据将是一件非常耗时和累人的事情,这时需要选择一个具有好的界面和功能强大的工具软件来协助你完成这些事情。
准备数据。这是建立模型之前的最后一步数据准备工作。可以把此步骤分为四个部分:选择变量,选择记录,创建新变量,转换变量。
建立模型。建立模型是一个反复的过程。需要仔细考察不同的模型以判断哪个模型对面对的商业问题最有用。先用一部分数据建立模型,然后再用剩下的数据来测试和验证这个得到的模型。有时还有第三个数据集,称为验证集,因为测试集可能受模型的特性的影响,这时需要一个独立的数据集来验证模型的准确性。训练和测试数据挖掘模型需要把数据至少分成两个部分,一个用于模型训练,另一个用于模型测试。
评价模型。模型建立好之后,必须评价得到的结果、解释模型的价值。从测试集中得到的准确率只对用于建立模型的数据有意义。在实际应用中,需要进一步了解错误的类型和由此带来的相关费用的多少。经验证明,有效的模型并不一定是正确的模型。造成这一点的直接原因就是模型建立中隐含的各种假定,因此,直接在现实世界中测试模型很重要。先在小范围内应用,取得测试数据,觉得满意之后再向大范围推广实施。模型建立并经验证之后,可以有两种主要的使用方法。第一种是提供给分析人员做参考;另一种是把此模型应用到不同的数据集上。
之后,我们来了解下数据挖掘的五个基本特点。
基于大量数据:并非说小数据量上就不可以进行挖掘,实际上大多数数据挖掘的算法都可以在小数据量上运行并得到结果。但是,一方面过小的数据量完全可以通过人工分析来总结规律,另一方面来说,小数据量常常无法反映出真实世界中的普遍特性。
非平凡性:所谓非平凡,指的是挖掘出来的知识应该是不简单的,绝不能是类似某著名体育评论员所说的“经过我的计算,我发现了一个有趣的现象,到本场比赛结束为止,这届世界杯的进球数和失球数是一样的。非常的巧合!”那种知识。这点看起来勿庸赘言,但是很多不懂业务知识的数据挖掘新手却常常犯这种错误。
隐含性:数据挖掘是要发现深藏在数据内部的知识,而不是那些直接浮现在数据表面的信息。常用的BI工具,例如报表和OLAP,完全可以让用户找出这些信息。
新奇性:挖掘出来的知识应该是以前未知的,否则只不过是验证了业务专家的经验而已。只有全新的知识,才可以帮助企业获得进一步的洞察力。
价值性:挖掘的结果必须能给企业带来直接的或间接的效益。有人说数据挖掘只是“屠龙之技”,看起来神乎其神,却什么用处也没有。这只是一种误解,不可否认的是在一些数据挖掘项目中,或者因为缺乏明确的业务目标,或者因为数据质量的不足,或者因为人们对改变业务流程的抵制,或者因为挖掘人员的经验不足,都会导致效果不佳甚至完全没有效果。但大量的成功案例也在证明,数据挖掘的确可以变成提升效益的利器。
大数据(big data)是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。大数据有五大特点,即大量(Volume)、高速(Velocity)、多样(Variety)、低价值密度(Value)、真实性(Veracity)。它并没有统计学的抽样方法,只是观察和追踪发生的事情。大数据的用法倾向于预测分析、用户行为分析或某些其他高级数据分析方法的使用。