一种基于r的数据预处理系统的构建方法

文档序号:8412620阅读:219来源:国知局
一种基于r的数据预处理系统的构建方法
【专利说明】一种基于R的数据预处理系统的构建方法
[0001]
技术领域
[0002]本发明涉及一种基于R的数据预处理系统的构建方法,属于数据挖掘技术领域。
【背景技术】
[0003]数据挖掘(data mining)是一种从海量的历史业务数据中,透过数理分析模式提取出蕴藏于其中的潜在信息的过程。数据挖掘是一个不断重复、不断修改、不断迭代的过程,主要包括:数据采集、数据预处理、数据分析、结果可视化显示和模型评估等流程。目前,数据挖掘已经在银行、电信、保险、交通、零售等商业领域得到了广泛的应用。
[0004]而在商务与日常实践中,需要使用数据挖掘技术分析的数据通常是不完整(缺少属性值或某些感兴趣的属性)、含噪声(包含错误或存在偏离期望的离群值),这样的数据必须经过预处理,恢复数据完整性和一致性后才能使用数据挖掘技术进行分析。
[0005]现今仍没有成熟的专门用于数据挖掘中数据预处理的系统,数据预处理模块大多以构件的形式集成于数据挖掘平台中。现有的数据挖掘平台,尚存在以下问题:平台中包含的数据预处理构件过于简单,通常只包含数据加载与数据清洗两个模块,而且数据清洗的方法也很单调,往往不能满足用户需求,导致数据预处理的结果不甚理想,直接影响了之后数据挖掘结果的准确性与有效性。

【发明内容】

[0006]发明目的:针对现有技术中存在的问题,本发明提供一种基于R的数据预处理系统的构建方法。
[0007]通过本发明方法构建的数据预处理系统将数据集加载、数据清理、数据集成、数据变换以及数据归约等模块有机地整合成一个统一整体,基于R语言提供丰富且有效的方法帮助用户恢复数据集的完整性与一致性,以便更好地进行后续数据挖掘工作。
[0008]技术方案:一种基于R的数据预处理系统的构建方法,采取集数据加载、数据清理、数据集成、数据变换以及数据归约于一身的数据预处理技术,主要包括如下部分:
A、数据加载方面:首先将客户端待处理的数据集上传至服务器端,然后由服务器端的相关程序将数据集加载至内存中的用户空间,支持的数据集格式有:Txt文本数据、Csv文本数据、Xsl文本数据、Url网络数据以及关系数据库数据等。
[0009]B、数据清洗方面:首先遍历由A得到的内存中的数据集,识别缺失值,并统一用NA替代;然后是缺失值的可视化,由用户在客户端选择列表展示或是图形展示,进而触发服务器端不同的函数来将识别出的缺失值用列表或图形的方式返回给客户端;最后,由用户在客户端选择缺失值处理方式,服务器端做出相应的响应。
[0010]C、数据集成方面:对经过清洗的数据集进行合并。由用户在客户端选择要合并的数据集,服务器端首先对数据集冗余进行检测,然后对观测值重复进行检测,合并产生新的数据集。
[0011]D、数据变换方面:把经过清洗后的数据集变换成适应于数据挖掘需求的形式。用户在客户端选择要变换的数据集,并选择变换形式(规范化或离散化),参数提交至服务器端,服务器端调用函数进行变换。
[0012]E、数据归约方面:用户在客户端选择要进行归约的数据集名称,服务器端函数通过移除不相关属性实现维归约。
[0013]本发明采用上述技术方案,具有以下有益效果:本发明提供的基于R语言的数据预处理系统的构建方法,使得丰富的数据预处理方法展现在用户面前,通过人机交互,用户可以各取所需来完成数据预处理工作,使得数据挖掘效率大大提高,挖掘结果更加准确有效。
【附图说明】
[0014]图1为本发明实施例的数据预处理系统工作流程图;
图2为本发明实施例的数据预处理系统分层示意图;
图3为本发明实施例的数据清洗模块设计示意图;
图4为本发明实施例的数据集成流程图。
【具体实施方式】
[0015]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0016]如图1所示,本发明方法所构建的数据预处理系统的工作流程大致分为三大步:第一步,加载源数据集;第二步,将源数据集进行清洗;第三步,根据用户需求进行数据集成、数据变换或数据规约,得到目标数据集。
[0017]为实现上述的工作流程,本发明所提供的方法将数据预处理系统分为四层,分别是表现层、控制层、逻辑层和数据层。系统分层示意图如图2。表现层即客户端,主要用来收集用户数据,为用户选择方法、设置参数提供接口,与用户进行交互;服务器端分为控制层、逻辑层、数据层。控制层主要用来过滤用户的错误操作请求,避免造成系统不可修复的后果,同时控制层还担任着调度函数的职责;逻辑层主要用来处理复杂的业务逻辑,对R语言算法封装,调用JRI进行Java和R语言的连接;数据层主要用来存放用户的源数据集以及目标数据集。
[0018]本发明实施例中数据预处理系统的构建方法包括以下步骤:
步骤1:设计并实现数据加载构件。首先在服务器端的逻辑层用Java封装R语言的数据集导入函数。在客户端与服务器网络链路通畅的情况下,建立客户端与服务器之间的TCP连接,然后以I/O数据流的形式将客户端的待挖掘文本上传至服务器端,服务器端进行解析之后调用封装的函数将数据集加载至内存中的用户空间。
[0019]步骤2:设计并实现数据清洗构件,该构件的设计流程如图3所示。首先要识别步骤I加载的数据集的缺失值,服务器端封装了 R语言中的complete, cases O函数,接收到客户端提交的请求后触发此函数识别缺失值;然后将缺失值信息展现给用户,同理,逻辑层封装了 R包mice中的md.pattern O函数用来列表显示缺失值,封装了 VIM包中的aggr()函数用来图形探宄缺失值,用户在客户端选择显示方法,服务器端做出相应的响应;最后处理缺失值,同样在服务器端封装删除法与插补法两个函数,由用户在客户端自由选择缺失值处理方法,触发相应函数并将处理后的目标数据集返回给客户端。
[0020]步骤3:设计并实现数据集成构件,数据集成流程图如图4。封装R语言中的卡方检验函数用来实现属性冗余检测,并用unique O函数进行观测值重复检测。用户在客户端选择待集成的数据集,控制层调用两个检测函数将数据集进行合并,并将目标数据集存放至数据层或由用户从服务器端下载至客户端。
[0021]步骤4:设计并实现数据变换构件。在服务器端的逻辑层封装R语言的scale O函数用于实现数据的规范化;同时也封装用于离散化的函数,函数的具体过程为,首先遍历数据集的属性,找出所有的数值属性(例如,age),然后将该数值属性的原始值用区间标签(0-10,11-20)或者概念标签(youth,adult)进行替换,实现定量数据向定性数据转化,从而将连续型数据离散化。用户在客户端选择变换方式,控制层调用相应函数完成变换,并将目标数据集存放至数据层或由用户从服务器端下载至客户端。
[0022]步骤5:设计并实现数据归约构件。R中可以依赖glmnetO程序包中的glmnet O函数进行LASSO变量选择以实现维归约,在逻辑层将其封装为Java函数。用户在客户端选择待归约的数据集,触发此函数完成维归约,并将目标数据集存放至数据层或由用户从服务器端下载至客户端。
[0023]步骤6:集成和部署数据预处理系统。对步骤I至步骤5设计的数据预处理构件提供配置接口,提供以编辑配置文件的方式定制数据预处理系统功能的用户接口。
【主权项】
1.一种基于R的数据预处理系统的构建方法,其特征在于,采取集数据加载、数据清理、数据集成、数据变换以及数据归约于一身的数据预处理技术,主要包括如下部分: A、数据加载方面:首先将客户端待处理的数据集上传至服务器端,然后由服务器端的相关程序将数据集加载至内存中的用户空间; B、数据清洗方面:首先遍历由A得到的内存中的数据集,识别缺失值,并统一用NA替代;然后是缺失值的可视化,由用户在客户端选择列表展示或是图形展示,进而触发服务器端不同的函数来将识别出的缺失值用列表或图形的方式返回给客户端;最后,由用户在客户端选择缺失值处理方式,服务器端做出相应的响应; C、数据集成方面:对经过清洗的数据集进行合并;由用户在客户端选择要合并的数据集,服务器端首先对数据集冗余进行检测,然后对观测值重复进行检测,合并产生新的数据集; D、数据变换方面:把经过清洗后的数据集变换成适应于数据挖掘需求的形式;用户在客户端选择要变换的数据集,并选择变换形式(规范化或离散化),参数提交至服务器端,服务器端调用函数进行变换; E、数据归约方面:用户在客户端选择要进行归约的数据集名称,服务器端函数通过移除不相关属性实现维归约。
2.如权利要求1所述的基于R的数据预处理系统的构建方法,其特征在于:所述数据集加载模块支持多种数据来源,包括结构化和半结构化文本数据。
3.具体支持Txt文本数据、Csv文本数据、Xsl文本数据、Url网络数据以及关系数据库数据等。
4.如权利要求1所述的基于R的数据预处理系统的构建方法,其特征在于:述缺失值可视化基于R语言实现了列表显示缺失值、图形探宄缺失值等方法;所述用户在客户端选择缺失值处理方式包括删除和插补,服务器端基于R语言实现删除法和插补法;基于R语言实现了数据集成过程中的属性冗余检测与观测值重复检测。
5.如权利要求1所述的基于R的数据预处理系统的构建方法,其特征在于:数据变换基于R语言实现了数据的规范化(将数据按比例缩放,使之落入特定的区间)与离散化(将定量数据向定性数据转化)。
6.如权利要求1所述的基于R的数据预处理系统的构建方法,其特征在于:所述数据归约基于R语言实现了移除不相关属性的维归约方法。
【专利摘要】本发明公开了一种基于R的数据预处理系统的构建方法,将数据预处理系统具体分为数据集加载、数据清理、数据集成、数据变换以及数据归约等五个子模块。数据集加载模块将待处理的数据集加载至内存中的用户空间;数据清洗模块是数据预处理的核心模块;数据集成模块用于把多个数据源中的数据合并,并存放到一个一致的数据仓库中;在数据变换模块中,数据被变换为适应于数据挖掘需求的形式;数据归约模块对归约的数据进行挖掘并产生分析结果。本发明在加载数据集并清洗数据的基础上,设计了数据集成、数据变换与数据归约等预处理技术,尽可能地恢复数据集的完整性与一致性,大大提高了数据挖掘的效率,并保证了挖掘结果的准确性与有效性。
【IPC分类】G06F17-30
【公开号】CN104731953
【申请号】CN201510150373
【发明人】范仕良, 张雪洁
【申请人】河海大学
【公开日】2015年6月24日
【申请日】2015年3月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1