版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据挖掘工具的选择、分析、比较与展望高春华(南京大学计算机科学与技术系,南京,210093)choice, analysis, comparison and future studies of data mining toolsgao chun-hua(department of computer science and technology, nanjing university, nanjing, 210093)abstract: as a new technology of deriving knowledge from massive data, data mining has bec
2、ome increasingly popular in research and industry fields. its success in commercial area makes software engineers develop new data mining tools and improve current tools. now we can see data mining tools have become a feast of eye, so it is hard for us to choose proper data mining tools. in order to
3、 offer some help, the paper discusses some ways of choosing data mining tools. at the same time, it makes introduction of several famous data mining tools and discusses the strength and weakness of each tool. it then chooses spss clementine as a tool to do some data mining work and compare it with w
4、eka and sas em. finally, it talks about the features and new functions of future data mining tools.key words: data mining; spss clementine, use of tools, comparative studies, future work摘要:数据挖掘作为一项从海量数据中提取知识的信息技术引起了国内外学术界和产业界的广泛关注,它在商业方面的成功应用使得软件开发商不断开发新的数据挖掘工具,改进现有的数据挖掘工具,一时之间数据挖掘工具可谓琳琅满目,于是出现了如何合理
5、选择挖掘工具的问题。鉴此,本文提出并讨论了几点关于理选择数据挖掘工具的技巧。同时,就现有的几个著名挖掘工具,介绍各自的特点,以及相互的优缺点。然后,选用spss clementine这种挖掘工具进行实际操作,并且具体介绍它与weka、sas em之间的优缺点。最后,展望一下,未来数据挖掘工具的特点与新功能。关键词:数据挖掘、spss clementine、工具使用、工具比较、展望前言:随着信息时代的到来,信息利用的重要性日渐突出,因此数据库和计算机网络随之应运而生。如今数据库和计算机网络被广泛应用,加上先进的数据自动生成和采集工具的使用,人们拥有的数据量急剧增大。然而数据的极速增长与数据分析方
6、法的改进并不成正比,一方面人们希望在已有的大量数据的基础上进行科学研究、商业决策、企业管理,另一方面传统的数据分析工具很难令人满意的对数据进行深层次的处理,这样二者之间的矛盾日益突出,正是在这种状况下,数据挖掘应运而生。数据挖掘作为一项从海量数据中提取知识的信息技术是一个"以发现为驱动"的过程,已经引起了学术界和产业界的极大重视。特别是从1989年8月在美国底特律召开的第11届国际人工智能联合会议上首次出现数据库中的知识发现概念以来,数据挖掘在国际国内都受到了前所未有的重视,目前数据挖掘广泛应用于各个领域,如地理学、地质学、生物医学等等,总之数据挖掘的出现_ 作者简介:高春
7、华(1988-),男,江苏海门人,大学本科生,主要研究领域为软件工程,mfc使数据库技术进入了一个更高级的阶段,不仅能对过去的数据进行查询和遍历,还能够找出以往数据间潜在的联系,促进信息的传播。1. 数据挖掘定义数据挖掘是一个从数据中提取模式的过程,是一个受多个学科影响的交叉领域,包括数据库系统、统计学、机器学习、可视化和信息科学等;数据挖掘反复使用多种数据挖掘算法从观测数据中确定模式或合理模型,是一种决策支持过程。通过预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确的决策。由于传统的事物型工具(如查询工具、报表工具)无法回答事先未定义的综合性问题或跨部门/机构的问题,因此其用
8、户必须清楚地了解问题的目的。数据挖掘就可以回答事先未加定义的综合性问题或跨部门/机构的问题,挖掘潜在的模式并预测未来的趋势,用户不必提出确切的问题,而且模糊问题更有利于发现未知的事实。2.工具简介2.1数据挖掘工具的重要性:数据挖掘工具利用各种已知数据分析方法,使分析员和决策者脱离浩如烟海的繁杂的数据,使其更快更有效的得到其所需要的结果。2.2数据挖掘工具的分类:数据挖掘工具根据其适用的范围分为两类:专用挖掘工具和通用挖掘工具。专用数据挖掘工具是针对某个特定领域的问题提供解决方案,在涉及算法的时候充分考虑了数据、需求的特殊性,并作了优化。对任何领域,都可以开发特定的数据挖掘工具。特定领域的数据
9、挖掘工具针对性比较强,只能用于一种应用;也正因为针对性强,往往采用特殊的算法,可以处理特殊的数据,实现特殊的目的,发现的知识可靠度也比较高。 通用数据挖掘工具不区分具体数据的含义,采用通用的挖掘算法,处理常见的数据类型。通用的数据挖掘工具不区分具体数据的含义,采用通用的挖掘算法,处理常见的数据类型。通用的数据挖掘工具可以做多种模式的挖掘,挖掘什么、用什么来挖掘都由用户根据自己的应用来选择。一般我们见到的数据挖掘工具都是通用型的。2.3工具简介:随着数据信息量的不断增大,数据利用的重要性日益突出,数据挖掘工具也随之不断推陈出行,各式各样的工具可谓是琳
10、琅满目。但最常见也最常用的还属那几种,如:ibm公司almaden研究中心开发的quest系统,sgi公司开发的mineset系统,加拿大simonfraser大学开发的dbminer系统,美国ibm公司开发的数据挖掘软件intelligent miner,美国north carolina州立大学开发的统计分析软件sas,开放源码的数据挖掘软件weka,美国斯坦福大学研制的spss以及各类数据库厂商集成的挖掘工具。这里主要介绍weka,sas,spss clementine。 weka(waikato environment for knowledge analysis)
11、是一款免费的,非商业化的,基于java环境下开源的机器学习(machine learning)以及数据挖掘(data minining)软件。 weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。而开发者则可使用java语言,利用weka的架构上开发出更多的数据挖掘算法。sas (statistical analysis system)是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、
12、计量经济学与预测等等。 sas系统基本上可以分为四大部分:sas数据库部分;sas分析核心;sas开发呈现工具;sas对分布处理模式的支持极其数据仓库设计。 sas系统主要完成以数据为中心的四大任务:数据访问;数式的支持极其数据仓库设计。是一种在我国的企业中得到采用的数据挖掘工具,比较典型的包括上海宝钢配矿系统应用和铁路部门在春运客运研究中的应用。sas enterprise miner是一种通用的数据挖掘工具,按照"抽样-探索-转换-建模-评估"的方法进行数据挖掘。可以与sas数据仓库和olap集成,实现从提出数据、抓住数据到得到解答的"端到端"知识发
13、现。spss clementine是一个开放式数据挖掘工具,曾两次获得英国smart 创新奖,它不但支持整个数据挖掘流程,从数据获取、转化、建模、评估到最终部署的全部过程,还支持数据挖掘的行业标准-crisp-dm。clementine的可视化数据挖掘使得"思路"分析成为可能,即将集中精力在要解决的问题本身,而不是局限于完成一些技术性工作(比如编写代码)。提供了多种图形化技术,有助理解数据间的关键性联系,指导用户以最便捷的途径找到问题的最终解决办法。而且spss的视图革新是最高的,获得最高的completeness of vision。注意,这里说的是clementine
14、并不等同于spss,spss突出在于统计或数字计算分析功能,而clementine专注于数据挖掘,可以做神经网络、决策树之类的分析,制图功能更完整。所以,clementine更适用于数据挖掘。前者,只是简单统计分析。3.工具使用这里选用版本为11.1的 spss clementine作为数据挖掘工具进行使用介绍。3.1 clementine 11.1主界面:3.1.1 区域1数据流设计区:主要的工作区域,如下图即知。有向的箭头指明了数据的流向。clementine项目中可以有多个数据流设计区,如下图的流1和流2。通过在管理区的流栏中点击切换不同的数量流。流1:流2:3.1.2 区域2管理区:包
15、括流、输出、模型三栏。流: 上面已经说过了,是管理数据流的。输出:不要跟工具栏中的输出搞混(将在下面介绍),这里的输出是图形、输出这类工具产生的分析结果。模型:经过训练的模型会出现在这一栏中,这就像是真表(truth table)的概念那样,训练过的模型可以加入的数据流中用于预测和打分。3.1.3 区域3项目区:顾名思义,是对项目的管理,提供了两种视图。其中crisp-dm (cross industry standard process for data mining,数据挖掘跨行业标准流程)是由spss、daimlerchrysler(戴姆勒克莱斯勒,汽车公司)、ncr(就是那个拥有ter
16、adata的公司)共同提出的。clementine里通过组织crisp-dm的六个步骤完成项目。在项目中可以加入流、节点、输出、模型等。3.1.4 区域4工具栏:工具栏总包括了etl、数据分析、挖掘模型工具,工具可以加入到数据流设计区中, clementine中有7类工具:数据源、记录选项、字段选项、图形、建模、输出、导出。3.2工具栏使用介绍每一个项目(tab)包含了一系列相关的节点用于一个数据流(stream)操作的不同阶段,例如:数据源(sources):用来将资料读进系统的节点。记录选项(record ops):用来在资料记录上进行操作的节点,例如选择、合并和增加。字段选项(field
17、 ops):用来在数据域位上进行操作的节点,例如过滤、导出新字段和确定给出字段的数据类型。图:在建模之前和之后用来可视化资料的节点。图包括点图、直方图、web 节点和评估图表。建模:在clementine 系统中可用的代表有效建模算法的节点,例如类神经网络、决策树、聚类算法和资料排序。收藏夹:在工具栏上的收藏夹项目能够被定义成包含使用者对clementine 系统的习惯用法。例如,如果使用者经常分析一个数据库中的时间序列资料,就可能想确保数据库来源节点和序列建模节点这两个都可以从收藏夹 项目中获得。3.2.1 数据源:数据源节点包括:数据库用于通过odbc 导入资料。变量文件用于无限制字段的a
18、sc资料。固定文件用于固定字段的asc资料。spss 文件用于导入spss .sav文件。dimensions文件用于导入spss的dsc文件excel文件用于导入excel .xls文件sas 文件用于导入sas 格式的檔。使用者输入用于替代已存在的来源节点,也可通过在已存在节点点击鼠标右键的方式使用该节点。用户可根据不同格式的数据文件选择相对应的数据源节点。3.2.2记录选项记录操作节点用于在记录层次修改资料集。这些操作在资料采矿的资料理解和资料准备阶段很重要。记录操作选项板包括以下节点:选择(select)抽样(sample)平衡(balance)汇总(aggregate)排序(sort
19、) 合并(merge)附加(append)区分(distinct)选择节点:使用者可以使用选择节点根据具体条件从资料流程中选择或排除某一记录子集,如符合class”age”条件的记录子集。选择节点也用于选择一定比例的记录,使用者可以使用选择节点来创建自己的条件。例如,使用者可以创建如下条件:class="age"and random(10)<=4 这一条件将从class 为“age”的记录中,选择大约40,并向流程的下游下传(downstream)这些记录以用于进一步分析。抽样节点:使用者可以使用抽样节点来明确限制通过流的记录数或排除一定比例的记录。由于各种原因,使用
20、者需要对原资料进行抽样,如:提高资料采矿工具的性能。大量削减(paring down)一个大型的资料集,比如拥有上百万记录的资料集。使用抽样节点,使用者可以通过随机抽样来生成模型,该模型通常和从整个资料集中导出的模型一样精确。平衡节点:使用者可以使用平衡节点来修正资料集中的不均匀性,以便能够符合特定的测试原则。均衡是根据指定的条件复制记录后丢弃记录。不受任何条件限制的记录会一直通过流程。由于这一过程通过复制并且/或者丢弃记录,因而资料的原始顺序将在资料下传(downstream过程中流失。所以,一定要在将均衡节点加到流程之前导出一个和顺序有关的值。注:均衡节点可以从资料分布图和直方图中自动生成
21、。汇总节点:可以使用汇合节点,把一系列输入记录变换成总括性的、汇合的输出记录。排序节点:可以使用排序节点根据一个或多个字段值对记录进行升序或降序排列。排序节点经常用于浏览和选择带有最常见资料值的记录,有助于探索分析资料并作出决策,比如选择前十名最好的顾客的记录。合并节点:合并节点的功能是接受多重输入记录,并生成包含部分或全部输入字段元的单一输出记录,这一操作在合并来自不同资料来源的资料时很有用。附加节点:使用附加节点将记录集串联起来。与合并节点中将不同资料来源中的记录连接起来不同,附加节点读取并下传(downstream)来自同一资料来源的所有记录直至该资料来源不再有记录为止,然后使用与读取首
22、个输入资料来源记录相同的数据结构(记录和字段数目等)读取下一个资料来源的记录。如果最初的资料来源的字段比另一个输入资料来源多,系统将对任意不完整值使用字符串($null$)补充。附加节点用于合并有相似结构而资料不同的资料集,假定它们具有同样的数据结构(同样的字段,同样的顺序),附加节点将会它们合并成一个大的档,随后使用者可以对这个档进行分析。区分节点:可以使用区分节点来清除重复性记录,可以将首个区分记录传递到数据流中或者舍弃首个记录,而将任意的副本传递到数据流。如果想在资料集中每一项对应一个单一记录,如客户、帐号、产品等,则这项操作将很有用的。3.2.3 字段选项在资料准备阶段,使用者通常需要
23、选择、清理和建构资料。字段操作节点能够帮助使用者为建模和其它下游流程的操作准备数据。字段操作选项板包含下列节点:类型(type)过滤(filter)导出(derive)填充(filler)设为标志(set to flag)历史(history)以及其他一些节点。类型节点:指定字段的一系列重要属性。(1)连续型(range):用于描述数值。(2)离散型(discrete):用于当一个具体值的精确数量未知时描述字符串。(3)标记型(flag):用于只取两个具体值的资料。(4)集(set):用于描述带有多个具体值的资料,每个值作为集中的一个元素。注意:将一种类型设置为集并不会自动把值转换为字符串。(
24、5)无类型(typeless):用于不符合上述任一种类型的资料或者含有太多元素的集类型资料。过滤节点:三个功能:(1)从通过的记录中过滤或剔除字段(2)重命名字段(3)把字段从一个来源节点映像到另一个导出节点:clementine 最强大的特点就是其修改资料值和从已存资料中导出新字段的能力。六种导出节点及其产生的新字段如下所示:公式:其新字段是任一个clem 表达式的结果。标志:其新字段是一个标记,显示了指定的条件。集合:其新字段是一个集,即它的元素是一组指定值。状态:其新字段是两种状态的一种。在两种状态之间的转换 是根据指定的条件来决定的。计数:其新字段是基于条件正确的次数。条件:其新字段是
25、两种表达式之一的值,取决于条件的值。填充节点:填充节点用来替换字段值以及改变存储。使用者可以用一个指定的clem 条件,比如blank(field),来替换字段值。使用者也可以用一个指定的值替换所有的空缺和无效值。填充节点通常与类型节点结合起来替换遗漏值。注意:当用使用者定义的值来替换已选中的多个字段时,字段类型必须相似(都为数值型或者字符型)。设为标志节点:使用者必须先有一个从一个设置标记节点开始,在其上游的并且指定了一个或多个字段类型为资料集类型的类型节点。历史节点:偏差:指定目前记录之前最近的记录,从其中提取历史字段值。例如,如果偏差设为3,历史节点在处理每条记录时,就会将目前记录之前的
26、第三条记录的字段值加进该记录。用间隔设置可以指定向后抽取与目前记录相隔多远的记录。用箭头可以调整偏差值。间隔:定义需要抽取向前资料的字段个数。例如,如果偏差设为3,间隔设为5,历史节点在处理每条记录时,就会将选择域列表中指定的五个字段加进该记录。这意味着当节点处理第10 条记录时,第7 条记录到第3 条记录的字段会被加入。当无历史记录时:以下三个选项用于处理无历史值的记录。这通常指数据集开始的几条记录,因为它们之前没有可以作为历史的记录了。1) 丢弃记录:当字段没有历史值可以利用时,选择舍弃记录。2) 使历史字段未定义:当没有历史值可以利用时,选择保留记录。历史字段将取值为未定义值$null$
27、。3)用.填充:当没有历史值可以利用时,给记录定义一个数值或者一个字符串。预设替换值为系统无效值undef。无效值在clementine 中用字符串$null$显示出来。当选择替换值时,牢记以下规则以使操作正确:(1)被选中的存储类型必须相同。(2)如果所有被选中的字段是数值储存,替换值必须解析成整数。(3)如果所有被选中的字段是实数储存,替换值必须解析成实数。(4)如果所有被选中的字段是字符储存,替换值必须解析成字符串。(5)如果所有被选中的字段是日期储存,替换值必须解析成日期/时间。3.2.4 clem 表达式clem 全名为clementine language for expressi
28、on manipulation,也就是在clementine 中执行函数运算时的专用语法,它是一个功能强大的语言,用来分析操作clementine 流程的资料。功能有:比较和评估各记录字段的条件为新的字段导出值为已有字段导出值推导记录序列将记录中的资料插入报告中1)数据与数据类型 clem 表达式与一般由数值、字段名、操作符和函数等构成的公式相似。字符串-例如:“c1”,”type 2”,”a piece of free text”整数-例如:12,0,-189实数-例如:12.34,0.0,-0.0045日期型字段-例如:05/12/2002,12/05/2002字符型代码-例如:a项列表-
29、例如:1 2 3,type1 type22)表达式及条件clem 能传回一个结果,例如在derive 节点中:weight*2.2age+1sqrt(signal-echo)也能用来做为选择条件,例如在select 节点中:drug=”druga”age<16not(powfulflux) and power>2000在clem 表达式中,可以将多个函数合并起来:sqrt(abs(signal)*max(t1,t2)+baseline执行顺序分别为:函数参数、函数调用、××、× / mod div rem、+ -、<> >= <
30、=。3)使用表达式建构器e-builder 的设置使得使用者可以在clementine 的节点上迅速建立clem表达式,不必记住确切的字段名称和clem语言,操作上更为轻松简易。不论选择(select)、平衡(balance)、导出(derive)、填充(filler)、制图(plot)、分析(analysis)、报告(report)或是表 (table)节点, 都可使用。注意:在脚本编程或参数的设立中不支持 。4)clem函数类型函数类型描述information用于获得字段值的进一步信息。例如,函数is_string 为所有字段类型为字符串的记录返回真conversion用于建构新字段或转
31、换存储类型。例如函数to_timestamp 把所选字段转换为一个timestampcomparison用于字段值之间的比较或与指定值的比较,例如<=用来作小于等于的比较logical用于执行逻辑操作,像if、then、else 操作numeric用于执行数值计算,像字段值的自然对数trigonometric用于执行三角计算,像指定角度的反余弦arccosinebitwise用于整数的比特位操作random用于随机选择项或产生数3.2.5 图形资料采矿过程的某些阶段使用图来对资料作探索性分析。例如,使用者可以将一个制图或分布节点连接到一个资料来源上,从而对数据类型和分布有更深刻的认识。然
32、后使用者可以对记录和字段进行处理以准备下游模型操作所需资料。图表的另一个常见用途是检查新导出字段的分布和关联。图表的操作:1)建立图:一旦被加入一个流程中,每个图节点都可以通过双击来打开一个标记过的对话框以指定选项如下:(1)为图表设定输出选项(setting output options for graphs)。(2)设置图外观选项(setting appearance options for graphs) 。2)使用图表:使用鼠标来选择一个图表区域以便进行更深入的操作。使用菜单栏中可用的选项:不同的图表可能有不同类型的可用菜单和选项。在一个选定区域上右击,给这个区域提供一个可用选项的上下
33、文菜单。使用这些方法,使用者可以依据已创建图表的不同类型来执行下述操作:使用鼠标高亮度表示划定的矩形资料区域。通过点击图像区域,高亮度表示直方图和堆积图上的资料带。识别并标注使用者的资料子集。基于图表上选定的区域来生成操作节点。图表选项板(graphs platte)包括以下节点:散点图(plot)多重散点图(multiplot)分布图(distribution)直方图(histogram)集合图(collection)网络图(web)评估图(evaluation)散点图:散点图节点显示出了数值型字段之间的关系.。使用者可以使用点(也被称做散点)或线来创建一个散点图,可以通过在对话框中设定一个
34、 x mode 来生成三种类型的折线(line plot)图。第一种折线:将x mode 设置为排序,使得资料能够按绘制在x 轴上的字段值分类。这就产生了一条图像左端延伸到右端的单曲线。第二种折线:将x mode 设置为交叠字段可以在同一个图像中创建多条折线。第三种折线:将x mode 设置为如所读取,当它们从资料源中读出的时候,绘制x 和y 值。如果使用者对基于资料顺序所产生的趋势和模式很有兴趣,那么这个选项对于带有时间序列成分的资料是十分有用的。多重散点图多重散点图是一种特殊类型的散点图,它显示的是一个单独的x 字段对应多个y 字段的情况。散点图和多重散点图是y 对x 的二维显示,一个区域
35、就是由x 和y 的最大和最小值描述的图像范围。由于多重散点图主要是属于散点图的一种,因此图像窗口显示的选项与点图节点中的选项相同。分布图一个分布图像表现的是,在一个资料集中,符号型(非数值型)变量值的发生情况,比如抵押类型或者性别。分布节点的一个典型用途是展示出资料中的不平衡注:为了显示出数值型变量值的出现,使用者应该使用直方图节点直方图直方图节点显示的是数值型字段变量值。在操作和建立模型之前经常用它探索资料。与分布节点相似,直方图被频繁地用来揭示资料中的不均衡性。注意:为了展示出符号型字段变量值的发生情况,使用者应该使用分布节点。字段(field):选择一个数值型字段层叠(overlay):
36、选择一个符号型字段来为以上选定的字段显示变量值的类别。选择一个覆盖字段,使用不同的颜色代表不同类别的覆盖字段。集合图除了集合图显示的是一个数值型字段变量值与另一个字段变量值相对比结果的分布,而不是显示一个单独字段变量值的发生率以外,堆积图与直方图是很相似的。一个集合图对于阐明变量值随时间变化的变量或字段来说是十分有用的。使用3d 图像,使用者还可以将一个按类别显示分布的符号型坐标轴包含在内。聚集(collect):选择一个字段,其变量值将在over 中被聚集,并显示在下面给定字段的变量值范围中。只有尚未被定义为符号型的字段才能被列出。在上(over):选择一个字段,其变量值将被用来显示上面指定
37、的堆积图字段。按照(by):在创建一个3d 图像时被激活,这个选项允许使用者选择一个用来按类别显示堆积图字段的设定或标记字段操作(operation):选择堆积图中的每个条柱都分别代表什么。选项包括sum, mean, max, min 以及standard deviation网络图网络图节点显示的是两个或两个以上符号型字段之间关系的强弱程度。这种图像通过使用各种不同类型的线条指示联系的强度来显示关系。例如,使用者可以使用一个网络图节点,来探究各种项目在商务网站上购买、或通过传统零售通路购买两种不同情况之间的关系。评估图评估图表节点为我们提供了一种能够很轻松地评估和比较预想的模型、并从中选择最
38、有利于应用的模型的方法。多个模型在图中被表示为多条相互独立的线。结果是通过将一个特定的变量值或者一变量值范围定义为“命中”来处理的。“命中”通常指的是某个种类(比如对顾客的销售情况)或一个感兴趣的事件(比如一种特定的医学诊断)的成功出现。一共有五种评估图表,其中每一个都强调了一个不同的评估准则。累积图表:通常可以使模型的整体执行状态变得更佳,而相反的,非累积图表则一般比较擅长为模型指示出特殊问题的所在位置。功效图表:将在每个分位点中成功数占记录数的百分比与在训练资料中成功数所占百分比做比较。它是用公式(分位点中成功数分位点中记录数)(总成功数总记录数)来计算的。响应图表:响应就是简单的分位点中
39、的成功数占记录数的百分比。它是用公式(分位点中的成功数分位点中的记录数)*100来计算的。利润图表:用(分位点中所有记录收入总和分位点中所有记录成本总和)来计算的。投资报酬率图表:它是用公式(分位点中的利润/分位点中成本)*100来计算的。3.2.6建模节点建模是资料采矿进程的核心部分。建模节点中的建模方法使使用者能够从资料中获得新的信息并形成预测模型。clementine 提供了一系列的建模方法,这些方法来自机器学习、人工智能和统计学。每种方法都有自己的长处,适合特定类型的问题。建模选项选项板包括以下节点:类神经网络决策树聚类线性回归gri(广义规则归纳)apriori(演绎)kmeans(
40、聚类)logistic regression(逻辑斯回归)factor analysis/pca (因子分析/主成分分析)twostep cluster(两步聚类)classification and regression(c&r)trees(分类回归树)序列检测等这里介绍几个常见建模节点:类神经网络节点类神经网络节点用于创建并训练类神经网络。类神经网络,有时也称作多层感知器,本质上是人脑处理信息方式的简化模型。它通过模拟大量相互连接的简单处理单元工作,这些处理单元好象神经元的抽象化版本。这些处理单元是按层排列的。在类神经网络中通常有三部分:一个输入层(input layer),其单元
41、代表输入字段;一个或者更多的隐藏层(hidden layers);以及一个输出层(output layer),其单元代表输出字段。这些单元通过不断变化的连接强度(connection strengths)或权值连接。类神经网络学习包括:检查单个记录、为每个记录生成预测、一旦发现生成错误的预测便对权值进行调整。这一进程多次重复,类神经网络不断提高预测效果,直到满足一个或者多个终止准则。要求:对字段类型没有限制。类神经网络可以处理数值型、字符型以及卷标型输入输出字段。类神经网络节点要求一个或更多字段有“in”方向,以及一个或更多字段有“out”方向。设置为both 或者none 的字段将被忽略。在
42、执行节点时,字段类型必须被充分实例化。优点:类神经网络在执行一般估计功能时非常强大。他们一般能够和其它方法一样执行预测任务,有时甚至执行得更好。同时,训练和应用类神经网络需要使用者掌握的统计和数学知识很少。clementine 中包含几项特有的功能,用以避免运用类神经网络时的一些常见问题,包括:敏感度分析(sensitivity analysis)以辅助解释类神经网络结果,修剪(pruning)和验证(validation)以避免过度训练,动态网络(dynamic networks)以自动找出合适的网络结构设计。kohenen(聚类)节点kohenen 节点用于创建和训练一类被称作kohene
43、n 网络、knet、或者自组织映像的特殊类神经网络。当刚开始并不知道资料集包括哪些群体时,可采用这种网络将资料聚合成差别明显的不同群体。与clementine 中的绝大多数算法不同,kohenen 网络并不使用目标字段。这种没有目标字段的学习被称作无监督的学习。kohenen 网络并不尝试去预测某一结果,而是试图揭示输入字段中的特征。记录被分成群体,这样同一群体或者类别中的记录彼此相似,而不同群体中的记录截然不同。一个kohenen 网络由一个输入单元层和一个处理单元的二维输出网组成。在训练过程中,每个单元都与其它单元竞争获得每个记录。当一个单元获得了一个记录,其权值(同样包含那些邻近的单元)
44、调整为更加匹配该记录的预测所属类别。随着训练的进行,网格上单元的权值不断调整以形成一张聚类的二维映像(自组织映像由此而得)。通常,kohenen 网络形成时会有少部分单元包括许多观察值(强单元),以及几个不对应于任何观察值的单元(弱单元)。强单元(有时是在网格中与他们相邻的单元)代表可能的聚类中心。kohenen 网络的另一个用法是进行维度归约。二维网的广阔性特征使得可以从最初的k 个变量衍生出两个保持初始预测值相似性关系的特征。在某些情况下,这可以给使用者带来和因素分析或主成分分析一样的便利。注意计算输出网格预设大小的方法已经与clementine 以前的版本不同。一般而言,新的计算方法能生
45、成更小的输出层,训练速度更快,综合性更强。如果发现使用预设大小得到较差的结果,尝试通过高级设置提高输出网的大小。要求:要训练kohenen 网络,需要至少一个in 字段。设置为out,both,或者none 的字段会被忽略。优点:建立kohenen 网络模型无须一组一组的资料。使用者甚至不需要知道要找出多少组。kohenen 网络从一大堆单元开始,随着训练的进展,各单元能够反映资料的自然分类结构。可以通过生成模型中每个单元捕获的观察值数来识别强单元,这可以使使用者感觉到资料分多少类。(c&r)trees(分类回归树)分类回归树节点(c&r tree node)是基于树的分类预测
46、方法。与c5.0 相似,该方法采用递归分割方法把输入字段值相似的训练集根据输出字段拆分成不同的类。分类回归树首先检查输入字段以找出最佳分割,分割好坏用分割引起的杂质减少指数度量。一次拆分定义两个子群,每个子群随后又再被分割成两个的子群,如此下去,直到达到触发某一终止准则。注意:分类回归树节点取代了clementine 早期版本的build rule 节点。如果加载一个包括build rule 节点的档,则由于clementine 不再支持build rule 节点,该节点将被分类回归树节点取代。但是由build rule 创建的生成模型将继续以常规方式执行,不会被替换。要求:要训练分类回归树模
47、型,需要至少一个in 字段元,恰好需要一个字符型out 字段。输出字段既可以是数值型,也可以是字符型。设置为both 或者none 的字段将被忽略。模型中使用的字段元类型必须被充分实例化。优点:分类回归树模型在遇到诸如遗失值和字段数量很多等问题时非常稳健。分类回归树模型通常不需要用很长的训练时间估计模型。此外,分类回归树模型比其它一些类型的模型易于理解从模型中导出的规则有直观的解释。与c5.0 不同,分类回归树模型既可以提供字符型输出字段,也可以提供数值型输出字段。3.2.7 输出节点输出节点提供一种方式来获得关于使用者的资料和模型的信息。当然,在资料采矿的每一阶段这是非常重要的,从“商业理解
48、”到“发布”。输出节点也提供一个机制,它能以各种形式把资料输出到其它工具软件的接口。这儿有十四种输出节点:表格(table)矩阵(matrix)分析(analysis)统计(statistics)质量(quality)报告(report)设置全局值(set globals)发布(publisher)数据库输出平面文件(flat file)spss 输出(spss export)sas 输出(sas export)excel 输出spss 过程(spss procedure)3.3 实例下面使用clementine中自带的bankloan_score作例子,通过建立分类决策树和神经网络模型,用来
49、预测一个人的收入。3.3.1定义数据源将一个spss文件节点加入到数据流设计区,双击组件,设置数据源。在类型栏中点“读取值”,会自动读取数据个字段的类型、值等信息。值是字段包含的值,比如在数据集中ed字段的值是从0到5的数。类型是依据值判断字段的类型。集合是指包含有限个值,连续是连续性数值。通过了解字段的类型和值,我们可以确定哪些字段能用来作为预测因子。“方向”表明字段的用法,“输入”用作预测的依据,”输出”用作预测值,”双向”代表两者均可。3.3.2 理解数据在建模之前,我们需要了解数据集中都有哪些字段,这些字段如何分布,它们之间是否隐含着相关性等信息。只有了解这些信息后才能决定使用哪些字段
50、,应用何种挖掘算法和算法参数。在除了在建立数据源时clementine能告诉我们值类型外,还能使用输出和图形组件对数据进行探索,而且更形象具体。例如先将输出组件中的表格和图形组建中的直方图拖入数据流设计区,跟数据源组件连在一起,配置好这些组件后,点上方绿色的箭头。也可在每个节点内,点按钮,这样只运行单个节点。运行之后,就两个节点就输出直方图和表格。同时,这些输出会保存在管理区中,以后只要在管理区双击输出就可以看打开报告。如直方图(这里选用age作字段):表格:3.3.3 准备数据将之前的输出和图形工具从数据流涉及区中删除。将字段选项中的过滤节点加入数据流区,删去一些不需要的字段。(这里要求一个
51、人的收入,与各种欠款无关,所以虑去debtinc、creddebt、othdebt、default字段。加入记录选项的抽样节点做随机抽样,从源数据中抽取70%的数据作为训练集,剩下30%作为检验集。注意为种子指定一个值,只要种子不变,计算机产生的伪随机序列是不变的。因为模型的输入和预测字段是不同的,所以需要加入个类型节点。有时候用于预测的输入字段太多,会耗费大量训练时间,可以使用特征选择组件筛选对预测字段影响较大的字段。特征选择模型训练后在管理区出现模型,右击模型,选浏览可查看模型内容。模型从4个字段中选出了3个字段,认为这3个字段对年收入的影响比较大,所以一般情况我们只要用这3个字段作为输入
52、列即可。但我们知道,一个人的受教育程度对收入影响是很大的,而且从表中也知道ed重要程度是0.948,属于一般重要,所以这里我们仍把它选上。最后,将模型从管理区拖入数据流设计区,替换原来的特征选项组件,以供后续的建模使用。3.3.4 建模加入c&rt(分类和回归)和神经网络模型节点,然后点上方的绿色箭头执行整个数据流。由此,得到决策树和神经网络模型,点击管理区的浏览,进行查看:完成后,在管理区又多了两个模型。把它们拖入数据流设计区,开始评估模型。3.3.5模型评估修改抽样组件,将模式改成“丢弃”,意思是抛弃之前用于训练模型的那70%数据,将剩下30%数据用于检验。注意种子不要更改。这里只
53、检验c&rt模型,将各种节点与它关联。执行后,得到各种检验结果:3.3.6 部署模型导出组件都可以使用publish发布数据流,这里会产生两个文件,一个是pim文件,一个是par文件。4工具选择与比较4.1 工具选择原则数据挖掘是一个过程,只有将数据挖掘工具提供的技术和实施经验与企业的业务逻辑和需求紧密结合,并在实施的过程中不断的磨合,才能取得成功,因此我们在选择数据挖掘工具的时候,要全面考虑多方面的因素,主要包括以下几点:1. 可产生的模式种类的多少2解决复杂问题的能力数据量的增大,对模式精细度、准确度要求的增高都会导致问题复杂性的增大。数据挖掘系统可以提供下列方法解决复杂问题:多种
54、模式多种类别模式的结合使用有助于发现有用的模式,降低问题复杂性。为单处理器的计算机编写的数据挖掘算法不会在并行计算机上自动以更快的速度运行。为充分发挥并行计算的优点,需要编写支持并行计算的算法。3.易操作性易操作性是一个重要的因素。有的工具有图形化界面,引导用户半自动化地执行任务,有的使用脚本语言。有些工具还提供数据挖掘的api,可以嵌入到像c、visualbasic、powerbuilder这样的编程语言中。模式可以运用到已存在或新增加的数据上。有的工具有图形化的界面,有的允许通过使用c这样的程序语言或sql中的规则集,把模式导出到程序或数据库中。4数据存取能力好的数据挖掘工具可以使用sql
55、语句直接从dbms中读取数据。这样可以简化数据准备工作,并且可以充分利用数据库的优点(比如平行读取)。没有一种工具可以支持大量的dbms,但可以通过通用的接口连接大多数流行的dbms。microsoft的odbc就是一个这样的接口。5与其他产品的接口有很多别的工具可以帮助用户理解数据,理解结果。这些工具可以是传统的查询工具、可视化工具、olap工具。数据挖掘工具是否能提供与这些工具集成的简易途径。4.2工具比较4.2.1 clementine与weka比较weka的全名是怀卡托智能分析环境(waikato environment for knowledge analysis),它的源代码可通过
56、http:/www.cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名,而weka的主要开发者来自新西兰。 weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。 如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。 2005年8月,在第11届acm sigkdd国际会议上,怀卡托大学的weka小组荣获了数据挖掘和知识探索领域的最高服务奖,weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。weka主界面:单击appilications->explorer,在选项卡中点击open file,加载数据源,如下图:跟很多电子表格或数据分析软件一样,weka所处理的数据集是那一个二维的表格。weka存储数据的格式是arff(attribute-relation file format)文件,这是一种ascii文本文件。可以又一般的window记事本就可打开。同时, weka还提供了对csv文件的支持,而这种格式是被很多其他软件所支持的。此外,weka还提供了通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 叩开孩子的心门课件
- 2024年度二手笔记本电脑买卖合同3篇
- 石材干挂施工合同范本
- 2024年度音乐版权许可使用合同3篇
- 认识图形课件
- 招商引资框架协议书范本标准版 3篇
- 2024年度工程咨询及项目管理合同
- 教育课件下载
- 二零二四年度电力工程车辆租赁合同3篇
- 2024版软件开发许可协议3篇
- 2024年刑法知识考试题库附参考答案【满分必刷】
- 国开作业《公共关系学》实训项目1:公关三要素分析(六选一)参考552
- 肺功能进修总结汇报
- 中国航天发展历史
- 《燃烧性能测试》课件-第二节 氧指数测试
- DB32/T 4446-2023 公共机构能源托管规程
- 初中英语名词单复数专项训练题目
- 2.贵州省地方标准项目申报书
- “读思达”教学法在整本书阅读教学中的实践
- 盐酸右美托咪定鼻喷雾剂-临床用药解读
- HSK 2标准教程(完整版)
评论
0/150
提交评论