要做数据挖掘,当然需要工具。但若靠传统的自我编程来实现,未免有些费时费力,而且其性能也不一定比商业工具来得强和稳定。目前,世界上已经有很多商业公司和研究机构开发出了各自的数据挖掘产品,而且功能和使用简易性也在日益提高。例如:SAS公司的 Enterprise Miner以及IBM公司的 Intelligent Miner,等等。
直接采用商业数据挖掘工具来帮助项目实施,是一个很好的选择。它既节省了大量的开发费用,又可以节约维护和升级的开销。本文是目前国内第一份对主流数据挖掘工具的评估报告,该报告综合了国内一流业务专家和数据挖掘专家的意见,为帮助企业进行类似评估提供了很高的参考价值。
工具种类
数据挖掘工具包括两种:
● 数据挖掘(Mining for Data)工具:其所用的数据都存储在已经有了明确字段定义的数据库或文本文件里,我们称之为结构化的数据挖掘工具。它主要是用来进行预测、聚类分析、关联分析、时间序列分析以及统计分析等。
● 文本挖掘(Text Mining)工具:它是用来从非结构化的文档中提取有价值的信息,这些信息都隐藏在文档里并且没有清晰的字段定义。文本挖掘主要是应用在市场调研报告中或呼叫中心(Call Center)的客户报怨定级、专利的分类、网页的分类以及电子邮件分类等。根据著名数据挖掘网站KDnuggets统计,目前已有50多种数据挖掘工具问世。
● 一般而言,目前市场上这些数据挖掘工具又可分成两类——企业型工具以及小型工具。
企业型数据挖掘工具:应用在需要高处理能力、高网络容量和大数据量的场合下。这些工具通常支持多种平台,并基于客户机/服务器结构。它通常可以直接连接一些复杂的数据管理系统(不像普通文本文件),并能处理大量的数据。这类数据挖掘工具的另一个特点是它通常提供了多种数据挖掘算法,并有能力解决多种应用问题。企业数据挖掘工具的实例有IBM的Intelligent Miner和SAS Enterprise Miner等。
● 小型数据挖掘工具:它与企业型的工具着眼点不同。小型数据挖掘工具或者是针对低端、低消费的用户,或者是为解决特定的应用问题提供特定的解决方案。比如Oracle公司的 Darwin,Insightful公司的Insightful Miner,等等。
工具选择
如何在众多工具中挑选出最适合本公司的呢?这的确是一个非常具有挑战性的工作。由于各个公司的背景、财务、挖掘水平各不相同,对数据挖掘工具的需求也就各不一样。到目前为止,可供参考的权威评估报告非常少。最近的一份完整而权威的数据挖掘工具评估报告是由John F. Elder IV和Dean W. Abbott在1998年完成的。可以说,它已经过时了。但一般说来,对数据挖掘工具的选择可从以下几点着眼:
● 公司的数据挖掘需求是短期行为还是长期使用
如果是短期行为,就购买那些能解决特定问题的软件包或外包给咨询公司。如果是长期使用,就需要购买功能比较丰富,使用比较方便,维护升级比较好的企业型数据挖掘工具。
● 公司的数据挖掘经验和水平
公司应该根据内部数据挖掘团队的经验和水平,选取一些经过基本培训后就能掌握的工具。而不要盲目求好,最终导致因不会使用工具而将其束之高搁,从而造成资源的浪费。
● 公司的数据状态
在挑选数据挖掘工具前,公司必须对现有的数据进行评估。如果没有具备进行业务主题数据挖掘(比如:风险预测)的数据或者现有格式不能满足数据挖掘工具的需求,那就需要等数据具备了,才可考虑购买工具。
● 公司的预算
当然,在评估数据挖掘工具时,公司也要结合自身的财务预算来决定。
● 工具的性能
好的工具可以更有效地挖掘出高准确和高价值的信息,所以工具性能的评估也是相当重要的。
下面,本文将结合国内某一家大公司数据挖掘工具评估的实际例子,对目前市场上最流行的数据软件工具从纯技术角度进行详细讲解和评估。从而为行内公司进行类似的工作提供参考。
工具评判
图1显示了数据挖掘工具评估的一般过程。
首先我们要通过不同途径(Internet,杂志,供应商提交材料等)尽可能多地收集数据挖掘工具的相关资料。然后,根据公司的业务需求、工具性能、公司背景等情况,确定3~5个初选对象。在确定完评估对象后,我们将从技术、业务需求、数据状态、供应商实力、财务预算等各个角度来制定比较详细的评估条款以及权值。制定完标准后,下一步就是根据所制定的标准进行逐一评分。最后,根据评分结果进行总结,从而提出数据挖掘工具的选取建议。
下面的案例,是国内某家大公司数据挖掘工具的技术评估过程:
该公司于2002年开始启动数据挖掘项目。对于该公司来说,数据挖掘是一项长期的工程。由于同时考虑到数据量大、业务需求广泛,因此本次评估对象仅限于企业级的数据挖掘工具。
根据所收集的资料,我们对目前在中国市场上最为流行的三大数据挖掘软件(SAS公司的 Enterprise Miner、IBM公司的 Intelligent Miner和SPSS公司的 Clementine,进行了评估。本次评估主要有6个主要标准,包括数据存取、数据处理、模型算法、自动建模、可视化以及其它系统要求。下面的内容说明了对每个工具在6个主要标准上进行打分的具体情况。
1. 数据存取
数据存取主要是考查数据挖掘工具或方案的数据访问能力。它通常包括文本文件、EXCEL文件、NATIVE接口和ODBC等。一般情况下,数据都存储在数据库里或文本文件中,所以相应的权值就比较高一些。
2. 数据处理
数据处理主要是考查数据挖掘工具的数据处理能力。它通常包括基本数学变化(比如log,Ln) 、连续变量的数据分段、数据整合(数据表格的合并)、数据过滤(数据的字段筛选或记录筛选)、数据转换(字符型数据转换成数字型等)、数据编码(无效数据编码或缺失数据编码等)、数据随机采样以及SQL支持等。
为了提供数据挖掘的准确性,我们经常需要对原始数据进行一系列的转换,以便从不同角度来更好地描述某种事物或行为,所以丰富的数学变化函数是非常需要的,其权值也相应地就比较高一些。
在实际建模中,我们经常会碰到这样的例子:假定要预测某种产品的购买概率,一般来说我们会采用分类模型。但是,如果已购买者和没有购买者的比例是1∶100,此时我们就需要采用过度采样(Stratified Sampling)的方法,使得已经购买者和没有购买者的比例变小(比如达到1∶6)。另外,我们也经常会随机采样50%的数据来建模,用另外50%来验证模型。所以在评估过程中,我们决定给工具的随机采样功能比较高的权值。因为数据挖掘工具经常需要和数据库打“交道”,SQL将很方便为数据的提取处理提供支持,所以我们给的权值为15%。
3. 模型算法
算法是数据挖掘工具的核心部份,算法主要包括:聚类分析、分类分析、统计分析、关联分析、相关分析、时间序列、和值预测。对于数据挖掘来说,一般最常用的算法就是值预测(比如预测个人收入、客户贡献度、股票价格等)、分类算法(比如用于风险评级、产品购买概率预测、客户流失预测等)以及聚类分析(比如用于客户分割、内幕交易监测等)。因此,我们在评估过程中,按照算法的使用频率及其重要性,给予了下表的权值。
4. 自动建模
自动建模是考查数据挖掘工具是否能够自我优化,从而方便一般的用户使用。否则,用户必须很深刻地了解算法的优缺点才能手工地优化模型。为了方便具备一般数据挖掘技术背景的用户使用,数据挖掘工具最重要的是要提供灵活的参数设置及其帮助。同时,为了增强建模的效率,模型的并行运行和自我优化也是非常重要的。
5. 可视化技术
为了方便数据挖掘人员更好地了解数据的分布和建模的结果,我们需要数据挖掘工具提供较强的可视化功能。如何评估、预测模型的效果好坏,我们通常都采用Gain Lift图来了解。因此,一个好的数据挖掘工具必须提供Gain Lift图,否则将会给用户带来很多额外的工作量。为了了解数据的分布情况,2-D图和饼图是经常用到的,所以相应的权值也比较高一些。其它比较重要的图形包括:树状显示,主要是用来显示决策树的结果;散点图,主要是用于关联分析的结果显示;线图,用来显示回归结果;ROC图,也是用来了解模型的性能。
6. 其它
为了方便国内的用户使用,首先需要的是中文支持,否则有可能造成不必要的误解。各个公司的IT环境不同,为了增加数据挖掘工具的应用灵活性,我们要使工具能在不同平台上运行。当然为了使用者的方便,界面友好也是一个重要的考查对象。在建模的过程中,我们经常会碰到过度训练的问题(训练集的准确性很高,测试集的准确性很低)。为了保证模型的质量,数据挖掘工具必须提供过度训练的解决途径。在建完模型后,我们还需要将模型的代码输出,从而可以将模型很方便地移植到决策系统上。这样,业务人员就不需要直接应用数据挖掘工具就可以通过决策系统利用数据挖掘的模型。数据挖掘工具的中文支持、过度训练解决、平台通用性、模型代码输出的权值以及评估得分如下表所示。
对于一个数据挖掘工具,最重要的是模型算法,其次是数据处理功能。我们依据上面6个主题的重要性依次加权后总体得分如下表。从总分表可以看出,SAS的数据挖掘工具在技术方面领先于IBM和SPSS的产品。
结论
虽然数据挖掘在国内目前尚处初级阶段,除了一些简单的统计分析以外,绝大部分企业还不具备这方面的知识和技能。但最近两年来,国内一些大型企业或金融机构已经认识到数据挖掘的先进性和必要性,开始了这方面的立项和实施工作。
在数据挖掘的启动阶段,最有挑战性的工作之一就是: 如何在市场上林林总总的数据挖掘工具中选出适合企业的最佳。本文对目前市场上的比较流行的数据挖掘工具进行了罗列和总结,同时对工具评估工作的着眼点、过程和评估标准进行了阐述。文章结尾还结合国内某一大型企业的实际案例,对技术部份的评估进行了详细地描述和评估。然而,并不是每一个公司的技术评估都需要参照以上的评估标准。企业应当根据自身的业务需求和数据挖掘水平制定类似的评估条款和权值来进行评估。