CN110389978B - 一种基于复用的竞赛数据集自动化处理系统及方法 - Google Patents
一种基于复用的竞赛数据集自动化处理系统及方法 Download PDFInfo
- Publication number
- CN110389978B CN110389978B CN201910645848.2A CN201910645848A CN110389978B CN 110389978 B CN110389978 B CN 110389978B CN 201910645848 A CN201910645848 A CN 201910645848A CN 110389978 B CN110389978 B CN 110389978B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- file
- label
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于复用的竞赛数据集自动化处理系统及方法,通过本发明的技术方案,可以对原始数据集进行自动整理和划分,并上传到竞赛网站服务器上。其中,包括对原始数据集进行自动整理和分割和上传,生成竞赛网站数据集,以解决现有技术中人工整理和分割数据集造成的代码不能复用,整理效率低下,以及分割后的子数据集样本不符合整个数据集样本的概率密度分布问题。本发明设计的分割数据集的方法可以对标注属性为类别、标注属性为数值以及多属性标注的数据进行分层抽样,提高了抽样的准确性,使得分割出的子数据集合中的数据分布更符合原数据集的数据分布。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及一种基于复用的竞赛数据集自动化处理系统及方法。
背景技术
人工智能目前已被广泛应用于计算机视觉、语音处理及自然语言处理等许多领域,其中机器学习和深度学习技术是近年来最火热的人工智能算法之一。机器学习和深度学习作为数据驱动的计算机技术,通过学习、总结和归纳已知数据集合中数据分布的模式来预测未知数据的模式。一般情况下机器学习技术使用一个或多个数据集合来训练模型和验证模型的预测能力。这样的数据集合称为数据集,数据集通常由专业人士进行收集和整理。数据类型可以是图片、文字、音频、视频等多种格式。大部分数据集不但包含数据本身,还包括了每条数据所对应的标注,这样的标注称为数据的真实值,比如在身高数据集中每条数据可以是个体的体重,年龄等特征,而真实值是个体的身高。
机器学习和深度学习技术对于数据具有依赖性,即机器学习模型更倾向于对已知数据的模式进行较准确的估计,而对未知的数据则无法像已知数据一样得到同样准确度的预测。然而,在现实世界中绝大部分数据是未知的。这就导致现有技术中的人工智能模型构建时,大多时候只能先采用已有的已知数据,这个阶段必须提供大量的数据进行训练处理。人工智能训练模型的时候,数据是最重要的因素,只有通过大数据训练,才能让训练的模型更接近于实际需求。比如,自动驾驶的模型训练,现在基本是靠自动驾驶汽车上路测试收集数据训练模型,路上的汽车只有采集到更多可能的场景,才能确保训练出的模型更接近实际路况。
对于规模非常大的数据集而言,速度很重要。主流的深度学习框架有TensorFlow、Caffe、Keras、Theano等,它们大多在单节点服务器通过GPU加速完成模型训练。然而,此间遇到的两大问题包括:数据量不够或者数据量太大。CN109460792A公开一种基于图像识别的人工智能模型训练方法及装置。该人工智能模型训练方法包括:获取基准样本集、注册样本集以及验证集;以GoogLeNet网络结构和基准样本集为依据训练原始人工智能模型;对原始人工智能模型进行优化迭代训练,得到至少一个优化人工智能模型;输入验证集,得到原始准确率以及与至少一个优化准确率;判断至少一个优化准确率中是否存在一个满足限制条件的最优准确率;当最优准确率存在的时候,确定最优准确率对应的优化人工智能模型为最优人工智能模型。
一般来说,对于同一个化合生命体无法执行的或复杂或规模庞大的任务,可以提出多种不同的人工智能算法。本领域技术人员所熟知的,包括神经网络(Neural network)、RL强化学习(reinforcement learning)、深度学习(deep Learning)、遗传算法(Gene)、机器学习(Machine Leaming)、大数据(Big data)等。为了选择出对于同一个化合生命体无法执行的或复杂或规模庞大的任务而提出的多种不同的人工智能算法优劣,候选者提出各自的算法进行问题解决和性能测试。通常,这个过程可以采用竞赛的方式进行,虽然竞赛并不是唯一的方式,例如还可以进行性能评价。
目前的人工智能算法竞赛主要指在机器学习技术领域通过不同的算法解决同一问题,竞选出最优的解决方法,即算法模型可以达到最高准确率。这个过程就需要大量并且合适的竞赛数据集作为支撑。
然而,在现有技术下,如果用户想要使用数据集并在数据集上实践机器学习算法,大多数情况下用户自己下载数据集文件并进行数据集整理,根据数据集发布者提供的描述,获取数据集中每条数据及其对应的标注,然后将数据及其对应标注将整个数据集划分为训练集、测试集、验证集等子数据集合。遗憾的是,在实际中,根据数据发布者的习惯不同,网络上发布的数据集格式不尽相同,其标注文件格式及标注形式也各种各样。在没有数据集描述的情况下这对数据使用者进行读取和划分数据集造成了很大的不便。除此以外,划分后的各个数据子集中的样本分布情况应符合整个数据集样本的概率密度分布,以避免因数据划分过程引入额外的偏差而影响最终的结果。而对数据集进行概率密度估计往往是比较困难的,这也对使用者造成了一定的困难。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
为解决上述技术问题,本发明提出了一种基于复用的竞赛数据集自动化处理系统及方法。
通过本发明的技术方案,可以对原始数据集进行自动整理和划分,并上传到竞赛网站服务器上。其中,包括对原始数据集进行自动整理和分割和上传,生成竞赛网站数据集,以解决现有技术中人工整理和分割数据集造成的代码不能复用,整理效率低下,以及分割后的子数据集样本不符合整个数据集样本的概率密度分布问题。本发明设计的分割数据集的方法可以对标注属性为类别、标注属性为数值以及多属性标注的数据进行分层抽样,提高了抽样的准确性,使得分割出的子数据集合中的数据分布更符合原数据集的数据分布。
在本发明的第一个方面,提供一种基于复用的竞赛数据集自动化处理方法,所述方法基于计算机自动化实现,包括如下步骤:
S1:预先配置数据集描述文件。
具体来说,所述预先配置的数据集描述文件,用于在网站页面显示数据集的详细信息,包括数据集来源、相关论文、项目名称,以及下一段提到的整理好的数据集csv(逗号分隔值表格文件)字段信息描述,包括数据路径和标注等字段的变量名称、数据类型、取值范围等描述。
S2:对原始数据集进行整理。
首先在数据集文件夹下检查是否存在标注文件。若标注文件存在,则读取标注文件下的每条数据(或其存储路径)及其对应的标注,并将数据(或其存储路径)及其对应的标注导出到表格文件中。若标注文件不存在,在这种情况下获取数据集文件夹下所有数据的路径并根据路径提取出每条数据对应的标注,然后将路径与标注导出到表格文件中。
S3:分割数据集。
首先读取上一步中创建的表格文件中的每条数据及其所对应的标注,然后将全部数据按照一定比例划分为开发集、训练集、测试集和验证集。
在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布。分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集。然后将所有类别下的开发集、训练集、测试集和验证集分别合并到一起。若样本标注不是类别而是数值,则对这些数值求直方图并按照直方图的类别进行分层抽样。
S4:数据集数据导出、压缩与上传。
划分好数据集后将划分好的开发集、训练集、测试集和验证集数据分别复制到相应的文件夹下,并将对应的数据路径和标注导出到表格文件,然后将表格文件也复制到相应的文件夹下。将开发集、训练集、测试集和验证集文件夹分别进行压缩,并与第一步编写的数据集描述文件一同上传到指定服务器地址上,若服务器上已存在同名压缩文件,则提示文件已存在,并取消上传操作。
更具体的,所述方法进一步包括如下步骤:
S101、开始,将数据集文件解压缩,将当前路径更改为数据集所在文件夹。
S102、遍历整个数据集文件夹,判断文件夹中是否存在标注文件。标注文件可以是txt、mat、xml等格式的文件,也可以是其他格式的文件。
S103、如果数据集文件夹中存在标注文件,则将数据集中每条数据的标注信息加载到计算机缓存上。
S104、如果数据集文件夹下不存在标注文件,则获取数据集每条数据的路径,并加载到缓存中。
S105、在步骤104后,从每条数据的对应路径中读取其对应的标注信息。读取标准信息的根据可以是数据集子文件夹的名称,也可以是数据文件的文件名信息。
S106、将每条数据的路径和其对应的标注信息导出到csv文件中。
S107、结束。
作为本发明的第一个优点,所述分割数据集包括如下具体步骤:
S201、开始。
S202、从数据集处理模块导出的csv文件中读取数据集中的每条数据及其标注。
S203、判断数据标注的类别是single-label(单一属性标注)还是multi-label(多属性标注。
S204、如果数据标注是多属性标注,则将每条数据的标注转化为字符串。字符串类型可以是python字符串,也可以是python中numpy类型的字符串数组。
S205、计算每条数据的标注字符串相对于整个数据集数据标注字符串出现的概率,计算出的概率用于在步骤S211和S214进行分层抽样。
S206、如果数据标注是单属性标注,则继续判断标注的类型是否是类别。
S207、计算数据集标注中每个类别相对于所有类别出现的概率,计算出的概率用于在步骤S211和S214进行分层抽样。
S208、如果标注的类型不是类别,则对标注的数值求直方图。直方图每个区间的宽度可以由分析数据集确定,也可以设定一个默认值。
S209、计算上一步得到的直方图每个区间的概率,计算出的概率用于在步骤S211和S214进行分层抽样。
S210、执行数据集分割函数,判断是否对函数传入了training size(训练集大小)参数。训练集大小参数用于确定分割出的训练集相对于整个数据集的比例。
S211、如果没有对分割函数传入训练集大小参数,默认设置训练集大小为0.6,即从数据集中分割出60%的数据作为训练集。
S212、根据步骤S205、S207或S209计算出的概率,对数据集按照之前步骤处理后的标注类别和训练集大小参数进行分层抽样以抽取训练集数据。分层抽样的方法是对于每个类别的数据都从中抽取训练集大小的比例的数据。
S213、从训练集中抽取前一百条数据和对应的标注作为开发集。
S214、在分割训练集和开发集后,判断是否对数据集分割函数传入了test size(测试集大小)参数和validation size(验证集大小)参数。
S215、如果没有对分割函数传入测试集大小参数和验证集大小参数,则默认设置测试集大小和验证集大小分别为0.2、0.2,即从数据集中分别分割出20%的数据集作为测试集和验证集。
S216、根据步骤S205、S207或S209计算出的概率,对数据集按照之前步骤处理后的标注类别和测试集大小以及验证集大小参数进行分层抽样以抽取测试集数据和验证集数据。
S217、结束。
作为本发明的第二个优点,所述数据集上传步骤具体为:
执行完数据集分割模块后,进行数据集文件上传步骤,将分割好的各个子数据集文件上传至服务器指定路径。上传模块的具体步骤为:
S301、开始。
S302、向服务器发送请求,请求的内容为创建新的数据集文件。
S303、检查数据集描述文件内所有字段的名称、格式和值的合法性。
S304、如果数据集描述文件中存在不合法的字段,则抛出异常提示字段不合法。
S305、如果数据集描述文件中所有字段均合法,则接下来判断数据集压缩文件所在的目录是否为空。
S306、如果数据集压缩文件所在目录为空,则抛出异常提示数据集路径为空。
S307、如果数据集压缩文件所在目录不为空,则获取数据集压缩文件所在目录下的所有压缩文件。
S308、判断执行上传模块时用户提供的Accesskey(访问密钥)和Security(安全密钥)是否有效。
S309、如果用户提供的访问密钥或安全密钥无效,则抛出异常提示密钥无效。
S310、根据数据集描述文件中的项目ID字段生成服务器上的数据集存储路径。
S311、判断服务器上对应路径是否已存在文件。
S312、如果服务器对应路径上已存在文件,则提示该路径上文件已存在。
S313、如果服务器对应路径上不存在文件,则将压缩文件上传至服务器的对应路径上。
S314、结束。
在本发明的第二个方面,提供一种基于复用的竞赛数据集自动化处理系统,用于实现所述一种基于复用的竞赛数据集自动化处理方法;所述系统包括:
数据集收集整理组件,用于在获取数据集后,自动对数据集文件进行整理,获得每条数据路径及对应的标注文件;
数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集;
数据集压缩上传组件,用于将所述数据集分割子系统输出的开发集、训练集、测试集和验证集压缩至压缩文件,然后将压缩文件上传至服务器指定路径;
其中,作为本发明的另一个重要创新点,所述数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集,具体包括:
如果数据标注是数值,则对整个数据集的标注求直方图,按照直方图对数据集进行分层抽样;
如果数据标注是多属性标注,则将标注转化为字符串,按照整个数据集字符串的频率对数据进行分层抽样。
作为上述重要创新点的另一个优选实现方式,其中,数据集分割子系统分割方式具体为:
将全部数据按照一定比例划分为开发集、训练集、测试集和验证集。开发集用于竞赛参加者在本地机器上验证用于竞赛赛题算法的可行性;训练集用于竞赛参加者在线上进行算法模型训练;测试提供给竞赛参加者用于检验模型在未知数据上的泛化能力,而验证集中的数据用于评价竞赛参加者设计的算法对于问题的预测能力。划分开发集、训练集、测试集和验证集的方式为:首先按照training size(训练集比例)从整个数据集中随机抽样的数据作为训练集,将训练集的前100条数据作为开发集。从数据集剩余的数据中按照testsize(测试集比例)和validation size(验证集比例)来分别抽取测试集数据和验证集数据。在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布。分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集。然后将所有类别下的开发集、训练集、测试集和验证集分别合并到一起。若样本标注不是类别而是数值,则对这些数值求直方图并按照直方图的类别进行分层抽样。
作为上述重要创新点的另一个优选实现方式,其中,数据集分割子系统分割方式还包括:
如果数据标注是单属性标注,则继续判断标注的类型是否是类别。
计算数据集标注中每个类别相对于所有类别出现的概率,计算出的概率用于在步骤进行分层抽样。
如果标注的类型不是类别,则对标注的数值求直方图。直方图每个区间的宽度可以由分析数据集确定,也可以设定一个默认值。
计算上一步得到的直方图每个区间的概率,计算出的概率用于进行所述分层抽样。
所述的自动化处理系统,还包括数据集描述文件配置数据库,所述配置数据库预先配置数据集描述文件。描述文件用于在网站页面显示数据集的详细信息,包括数据集来源、相关论文、项目名称,以及前述提到的整理好的数据集csv(逗号分隔值表格文件)字段信息描述,包括数据路径和标注等字段的变量名称、数据类型、取值范围等描述。
在本发明的第三个方面,提供一种客户端应用,用于实现所述一种基于复用的竞赛数据集自动化处理方法。该客户端应用包括在代码模块中的指令集(程序代码)或者其他功能描述性材料,例如该代码模块可以驻留计算机的随机存取存储器中。直到计算机需要,指令集可以存储在另一个计算机存储器中,例如存储在硬盘驱动中或诸如光盘(最终供在CD ROM中使用)或软盘(最终供在软盘驱动中使用)之类的可移动存储器中,或者经由互联网或其他计算机网络来下载。因此,本发明可以实现为在计算机中使用的计算机程序产品或者计算机可读存储介质。另外,尽管可以方便地在由软件选择性地激活或重新配置的通用计算机中实现所描述的各种方法,但是本领域的普通技术人员还将认识到,可以以硬件、固件或构造成执行所需要的方法步骤的更专用的设备中实现这些方法。功能描述性材料是将功能性告知给机器的信息。功能描述性材料包括但不限于计算机程序、指令、规则、事实、可计算功能的定义、对象和数据结构。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本实施例的基于复用的竞赛数据集自动化处理方法的主要流程图
图2是本实施例的自动化处理方法的详细的步骤图
图3是本实施例的数据集分割的详细步骤图
图4是本实施例的数据集压缩、上传步骤图
图5本实施例的基于复用的竞赛数据集自动化处理系统的框架图
具体实施例
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参见附图1,是基于复用的竞赛数据集自动化处理方法的主要流程图,所述方法的主要流程包括:
S1:预先配置数据集描述文件。
具体来说,所述预先配置的数据集描述文件,用于在网站页面显示数据集的详细信息,包括数据集来源、相关论文、项目名称,以及下一段提到的整理好的数据集csv(逗号分隔值表格文件)字段信息描述,包括数据路径和标注等字段的变量名称、数据类型、取值范围等描述。
S2:对原始数据集进行整理。
首先在数据集文件夹下检查是否存在标注文件。若标注文件存在,则读取标注文件下的每条数据(或其存储路径)及其对应的标注,并将数据(或其存储路径)及其对应的标注导出到表格文件中。若标注文件不存在,在这种情况下获取数据集文件夹下所有数据的路径并根据路径提取出每条数据对应的标注,然后将路径与标注导出到表格文件中。
S3:分割数据集。
首先读取上一步中创建的表格文件中的每条数据及其所对应的标注,然后将全部数据按照一定比例划分为开发集、训练集、测试集和验证集。开发集用于竞赛参加者在本地机器上验证用于竞赛赛题算法的可行性;训练集用于竞赛参加者在线上进行算法模型训练;测试提供给竞赛参加者用于检验模型在未知数据上的泛化能力,而验证集中的数据用于评价竞赛参加者设计的算法对于问题的预测能力。划分开发集、训练集、测试集和验证集的方式为:首先按照training size(训练集比例)从整个数据集中随机抽样的数据作为训练集,将训练集的前100条数据作为开发集。从数据集剩余的数据中按照test size(测试集比例)和validation size(验证集比例)来分别抽取测试集数据和验证集数据。在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布。分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集。然后将所有类别下的开发集、训练集、测试集和验证集分别合并到一起。若样本标注不是类别而是数值,则对这些数值求直方图并按照直方图的类别进行分层抽样。
S4:数据集数据导出、压缩与上传。
划分好数据集后将划分好的开发集、训练集、测试集和验证集数据分别复制到相应的文件夹下,并将对应的数据路径和标注导出到表格文件,然后将表格文件也复制到相应的文件夹下。将开发集、训练集、测试集和验证集文件夹分别进行压缩,并与第一步编写的数据集描述文件一同上传到指定服务器地址上,若服务器上已存在同名压缩文件,则提示文件已存在,并取消上传操作。
参照图2,是本实施例的自动化处理方法的详细的步骤图,包括S101、开始,将数据集文件解压缩,将当前路径更改为数据集所在文件夹。
S102、遍历整个数据集文件夹,判断文件夹中是否存在标注文件。标注文件可以是txt、mat、xml等格式的文件,也可以是其他格式的文件。
S103、如果数据集文件夹中存在标注文件,则将数据集中每条数据的标注信息加载到计算机缓存上。
S104、如果数据集文件夹下不存在标注文件,则获取数据集每条数据的路径,并加载到缓存中。
S105、在步骤104后,从每条数据的对应路径中读取其对应的标注信息。读取标准信息的根据可以是数据集子文件夹的名称,也可以是数据文件的文件名信息。
S106、将每条数据的路径和其对应的标注信息导出到csv文件中。
S107、结束。
参照图3,是本实施例的自动化处理方法中数据集分割的详细步骤图,包括:
S301、开始。
S302、向服务器发送请求,请求的内容为创建新的数据集文件。
S303、检查数据集描述文件内所有字段的名称、格式和值的合法性。
S304、如果数据集描述文件中存在不合法的字段,则抛出异常提示字段不合法。
S305、如果数据集描述文件中所有字段均合法,则接下来判断数据集压缩文件所在的目录是否为空。
S306、如果数据集压缩文件所在目录为空,则抛出异常提示数据集路径为空。
S307、如果数据集压缩文件所在目录不为空,则获取数据集压缩文件所在目录下的所有压缩文件。
S308、判断执行上传模块时用户提供的Accesskey(访问密钥)和Security(安全密钥)是否有效。
S309、如果用户提供的访问密钥或安全密钥无效,则抛出异常提示密钥无效。
S310、根据数据集描述文件中的项目ID字段生成服务器上的数据集存储路径。
S311、判断服务器上对应路径是否已存在文件。
S312、如果服务器对应路径上已存在文件,则提示该路径上文件已存在。
S313、如果服务器对应路径上不存在文件,则将压缩文件上传至服务器的对应路径上。
S314、结束。
参照图4,是本实施例的自动化处理方法中数据集压缩、上传步骤图,包括:
S301、开始。
S302、向服务器发送请求,请求的内容为创建新的数据集文件。
S303、检查数据集描述文件内所有字段的名称、格式和值的合法性。
S304、如果数据集描述文件中存在不合法的字段,则抛出异常提示字段不合法。
S305、如果数据集描述文件中所有字段均合法,则接下来判断数据集压缩文件所在的目录是否为空。
S306、如果数据集压缩文件所在目录为空,则抛出异常提示数据集路径为空。
S307、如果数据集压缩文件所在目录不为空,则获取数据集压缩文件所在目录下的所有压缩文件。
S308、判断执行上传模块时用户提供的Accesskey(访问密钥)和Security(安全密钥)是否有效。
S309、如果用户提供的访问密钥或安全密钥无效,则抛出异常提示密钥无效。
S310、根据数据集描述文件中的项目ID字段生成服务器上的数据集存储路径。
S311、判断服务器上对应路径是否已存在文件。
S312、如果服务器对应路径上已存在文件,则提示该路径上文件已存在。
S313、如果服务器对应路径上不存在文件,则将压缩文件上传至服务器的对应路径上。
S314、结束。
参照图5,是本实施例基于复用的竞赛数据集自动化处理系统的框架图,基于复用的竞赛数据集自动化处理系统包括:
数据集收集整理组件,用于在获取数据集后,自动对数据集文件进行整理,获得每条数据路径及对应的标注文件;
数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集;
数据集压缩上传组件,用于将所述数据集分割子系统输出的开发集、训练集、测试集和验证集压缩至压缩文件,然后将压缩文件上传至服务器指定路径;
在本实施例中,所述数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集,具体包括:
如果数据标注是数值,则对整个数据集的标注求直方图,按照直方图对数据集进行分层抽样;
如果数据标注是多属性标注,则将标注转化为字符串,按照整个数据集字符串的频率对数据进行分层抽样。
其中,数据集分割子系统分割方式具体为:
将全部数据按照一定比例划分为开发集、训练集、测试集和验证集。开发集用于竞赛参加者在本地机器上验证用于竞赛赛题算法的可行性;训练集用于竞赛参加者在线上进行算法模型训练;测试提供给竞赛参加者用于检验模型在未知数据上的泛化能力,而验证集中的数据用于评价竞赛参加者设计的算法对于问题的预测能力。划分开发集、训练集、测试集和验证集的方式为:首先按照training size(训练集比例)从整个数据集中随机抽样的数据作为训练集,将训练集的前100条数据作为开发集。从数据集剩余的数据中按照testsize(测试集比例)和validation size(验证集比例)来分别抽取测试集数据和验证集数据。在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布。分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集。然后将所有类别下的开发集、训练集、测试集和验证集分别合并到一起。若样本标注不是类别而是数值,则对这些数值求直方图并按照直方图的类别进行分层抽样。
作为本实施例的进一步优选方式,其中,数据集分割子系统分割方式还包括:
如果数据标注是单属性标注,则继续判断标注的类型是否是类别。
计算数据集标注中每个类别相对于所有类别出现的概率,计算出的概率用于在步骤进行分层抽样。
如果标注的类型不是类别,则对标注的数值求直方图。直方图每个区间的宽度可以由分析数据集确定,也可以设定一个默认值。
计算上一步得到的直方图每个区间的概率,计算出的概率用于进行所述分层抽样。
所述的自动化处理系统,还包括数据集描述文件配置数据库,所述配置数据库预先配置数据集描述文件。描述文件用于在网站页面显示数据集的详细信息,包括数据集来源、相关论文、项目名称,以及前述提到的整理好的数据集csv(逗号分隔值表格文件)字段信息描述,包括数据路径和标注等字段的变量名称、数据类型、取值范围等描述。
可见,本发明的技术方案可以对标注属性为类别、标注属性为数值以及多属性标注的数据进行分层抽样,提高了抽样的准确性,使得分割出的子数据集合中的数据分布更符合原数据集的数据分布。
本发明的上述方案,至少包括如下关键技术手段:
1.在获取数据集后,自动对数据集文件进行整理,获得每条数据路径及对应的标注文件。
2.在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为训练集、测试集、验证集等子集并将其压缩至压缩文件,然后将压缩文件上传至服务器指定路径。
3.在分割数据集时,如果数据标注是数值,则对整个数据集的标注求直方图,按照直方图对数据进行分层抽样。
4.在分割数据集时,如果数据标注是多属性标注,则将标注转化为字符串,按照整个数据集字符串的频率对数据进行分层抽样。
可见,本发明设计的方法通过一系列的算法自动对数据集进行整理、分割、上传,代码可以对任意数据集文件进行复用,减少了人工操作成本,提高了效率。
参见前述计算机系统,本发明的优选实现还可以是是客户端应用,也即是在代码模块中的指令集(程序代码)或者其他功能描述性材料,例如该代码模块可以驻留计算机的随机存取存储器中。直到计算机需要,指令集可以存储在另一个计算机存储器中,例如存储在硬盘驱动中或诸如光盘(最终供在CD ROM中使用)或软盘(最终供在软盘驱动中使用)之类的可移动存储器中,或者经由互联网或其他计算机网络来下载。因此,本发明可以实现为在计算机中使用的计算机程序产品。另外,尽管可以方便地在由软件选择性地激活或重新配置的通用计算机中实现所描述的各种方法,但是本领域的普通技术人员还将认识到,可以以硬件、固件或构造成执行所需要的方法步骤的更专用的设备中实现这些方法。功能描述性材料是将功能性告知给机器的信息。功能描述性材料包括但不限于计算机程序、指令、规则、事实、可计算功能的定义、对象和数据结构。
以上对本发明所提供的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于复用的竞赛数据集自动化处理系统,所述系统包括:
数据集收集整理组件,用于在获取数据集后,自动对数据集文件进行整理,获得每条数据路径及对应的标注文件;
数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集;
数据集压缩上传组件,用于将所述数据集分割子系统输出的开发集、训练集、测试集和验证集压缩至压缩文件,然后将压缩文件上传至服务器指定路径;
其特征在于:
所述数据集收集整理组件,用于在获取数据集后,自动对数据集文件进行整理,获得每条数据路径及对应的标注文件,具体包括:
在数据集文件夹下检查是否存在标注文件;
若标注文件存在,则读取标注文件下的每条数据或其存储路径及其对应的标注,并将数据或其存储路径及其对应的标注导出到表格文件中;
若标注文件不存在,则获取数据集文件夹下所有数据的路径并根据路径提取出每条数据对应的标注,然后将路径与标注导出到表格文件中;
所述数据集分割子系统,用于在获得每条数据路径及对应的标注文件后,将数据集数据文件和对应的标注自动分割为开发集、训练集、测试集和验证集,具体包括:
如果数据标注是数值,则对整个数据集的标注求直方图,按照直方图对数据集进行分层抽样;
如果数据标注是多属性标注,则将标注转化为字符串,按照整个数据集字符串的频率对数据进行分层抽样;
进一步的,划分开发集、训练集、测试集和验证集的方式为:首先按照训练集比例从整个数据集中随机抽样数据作为训练集,取训练集中预设数量的数据作为开发集;从数据集剩余的数据中按照测试集比例和验证集比例来分别抽取测试集数据和验证集数据;在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布;分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集。
2.如权利要求1所述的自动化处理系统,其中开发集用于竞赛参加者在本地机器上验证用于竞赛赛题算法的可行性;训练集用于竞赛参加者在线上进行算法模型训练;测试集提供给竞赛参加者用于检验模型在未知数据上的泛化能力,而验证集中的数据用于评价竞赛参加者设计的算法对于问题的预测能力。
3.如权利要求1或2所述的自动化处理系统,还包括数据集描述文件配置数据库,所述配置数据库预先配置数据集描述文件。
4.一种基于复用的竞赛数据集自动化处理方法,所述方法基于计算机自动化实现,包括如下步骤:
S1:预先配置数据集描述文件;
S2:对原始数据集进行整理;
S3:分割数据集;
S4:数据集数据导出、压缩与上传;
其特征在于:
所述预先配置的数据集描述文件,用于在网站页面显示数据集的详细信息,包括数据集来源、相关论文、项目名称,以及逗号分隔值表格文件字段信息描述;
所述对原始数据集进行整理,包括:
在数据集文件夹下检查是否存在标注文件;若标注文件存在,则读取标注文件下的每条数据或其存储路径及其对应的标注,并将数据或其存储路径及其对应的标注导出到表格文件中;
若标注文件不存在,则获取数据集文件夹下所有数据的路径并根据路径提取出每条数据对应的标注,然后将路径与标注导出到表格文件中;
所述分割数据集包括:将全部数据按照一定比例划分为开发集、训练集、测试集和验证集;
在划分数据集时,采用分层抽样的方式,来保证划分好的子集中数据分布符合整个数据集样本的概率密度分布;分层抽样的方法是对于整个数据集样本的每个类别,从该类别中按比例划分为开发集、训练集、测试集和验证集;然后将所有类别下的开发集、训练集、测试集和验证集分别合并到一起;若样本标注不是类别而是数值,则对这些数值求直方图并按照直方图的类别进行分层抽样。
5.如权利要求4所述的自动化处理方法,其特征在于,进一步包括如下步骤:
S101、开始,将数据集文件解压缩,将当前路径更改为数据集所在文件夹;
S102、遍历整个数据集文件夹,判断文件夹中是否存在标注文件;
S103、如果数据集文件夹中存在标注文件,则将数据集中每条数据的标注信息加载到计算机缓存上;
S104、如果数据集文件夹下不存在标注文件,则获取数据集每条数据的路径,并加载到缓存中;
S105、在步骤104后,从每条数据的对应路径中读取其对应的标注信息;
S106、将每条数据的路径和其对应的标注信息导出到csv文件中;
S107、结束。
6.如权利要求5所述的自动化处理方法,其特征在于,所述分割数据集进一步包括如下步骤:
S201、开始;
S202、从数据集处理模块导出的csv文件中读取数据集中的每条数据及其标注;
S203、判断数据标注的类别是单一属性标注还是multi-label;
S204、如果数据标注是多属性标注,则将每条数据的标注转化为字符串;
S205、计算每条数据的标注字符串相对于整个数据集数据标注字符串出现的概率,计算出的概率用于在步骤S211和S214进行分层抽样;
S206、如果数据标注是单属性标注,则继续判断标注的类型是否是类别;
S207、计算数据集标注中每个类别相对于所有类别出现的概率,计算出的概率用于在步骤S211和S214进行分层抽样;
S208、如果标注的类型不是类别,则对标注的数值求直方图;
S209、计算上一步得到的直方图每个区间的概率,计算出的概率用于在步骤S211和S214进行分层抽样;
S210、执行数据集分割函数,判断是否对函数传入了训练集大小参数;
S211、如果没有对分割函数传入训练集大小参数,则训练集大小为默认设置;
S212、根据步骤S205、S207或S209计算出的概率,对数据集按照之前步骤处理后的标注类别和训练集大小参数进行分层抽样以抽取训练集数据;
S213、从训练集中抽取预设数量的数据和对应的标注作为开发集;
S214、在分割训练集和开发集后,判断是否对数据集分割函数传入了测试集大小参数和验证集大小参数;
S215、如果没有对分割函数传入测试集大小参数和验证集大小参数,则测试集大小参数和验证集大小参数均为默认设置;
S216、根据步骤S205、S207或S209计算出的概率,对数据集按照之前步骤处理后的标注类别和测试集大小以及验证集大小参数进行分层抽样以抽取测试集数据和验证集数据;
S217、结束。
7.如权利要求5所述的自动化处理方法,其特征在于,所述数据集上传步骤进一步包括:
执行完数据集分割模块后,进行数据集文件上传步骤,将分割好的各个子数据集文件上传至服务器指定路径;上传模块的具体步骤为:
S301、开始;
S302、向服务器发送请求,请求的内容为创建新的数据集文件;
S303、检查数据集描述文件内所有字段的名称、格式和值的合法性;
S304、如果数据集描述文件中存在不合法的字段,则抛出异常提示字段不合法;
S305、如果数据集描述文件中所有字段均合法,则接下来判断数据集压缩文件所在的目录是否为空;
S306、如果数据集压缩文件所在目录为空,则抛出异常提示数据集路径为空;
S307、如果数据集压缩文件所在目录不为空,则获取数据集压缩文件所在目录下的所有压缩文件;
S308、判断执行上传模块时用户提供的访问密钥和安全密钥是否有效;
S309、如果用户提供的访问密钥或安全密钥无效,则抛出异常提示密钥无效;
S310、根据数据集描述文件中的项目ID字段生成服务器上的数据集存储路径;
S311、判断服务器上对应路径是否已存在文件;
S312、如果服务器对应路径上已存在文件,则提示该路径上文件已存在;
S313、如果服务器对应路径上不存在文件,则将压缩文件上传至服务器的对应路径上;
S314、结束。
8.一种计算机可读存储介质,其上存储有计算机可执行指令;通过处理器和存储器执行所述指令,用于实现如权利要求4-7任一项所述的一种基于复用的竞赛数据集自动化处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910645848.2A CN110389978B (zh) | 2019-07-17 | 2019-07-17 | 一种基于复用的竞赛数据集自动化处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910645848.2A CN110389978B (zh) | 2019-07-17 | 2019-07-17 | 一种基于复用的竞赛数据集自动化处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389978A CN110389978A (zh) | 2019-10-29 |
CN110389978B true CN110389978B (zh) | 2020-10-23 |
Family
ID=68285090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910645848.2A Active CN110389978B (zh) | 2019-07-17 | 2019-07-17 | 一种基于复用的竞赛数据集自动化处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389978B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3786855A1 (en) * | 2019-08-30 | 2021-03-03 | Accenture Global Solutions Limited | Automated data processing and machine learning model generation |
CN113792203B (zh) * | 2021-09-18 | 2023-05-16 | 重庆紫光华山智安科技有限公司 | 标注数据复用的方法及系统、电子设备、可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3488381B1 (en) * | 2016-07-21 | 2024-02-28 | Siemens Healthineers AG | Method and system for artificial intelligence based medical image segmentation |
CN109376751B (zh) * | 2018-08-21 | 2022-03-22 | 北京工业大学 | 一种基于卷积神经网络的人脑功能网络分类方法 |
CN109740760B (zh) * | 2018-12-25 | 2024-04-05 | 平安科技(深圳)有限公司 | 文本质检自动化训练方法、电子装置及计算机设备 |
-
2019
- 2019-07-17 CN CN201910645848.2A patent/CN110389978B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110389978A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209764A (zh) | 语料标注集的生成方法及装置、电子设备、存储介质 | |
CN109408821B (zh) | 一种语料生成方法、装置、计算设备及存储介质 | |
CN110413780A (zh) | 文本情感分析方法、装置、存储介质及电子设备 | |
CN114861836B (zh) | 一种基于人工智能平台的模型部署方法及相关设备 | |
CN109800354B (zh) | 一种基于区块链存储的简历修改意图识别方法及系统 | |
CN110389978B (zh) | 一种基于复用的竞赛数据集自动化处理系统及方法 | |
CN107430604A (zh) | 图像内容的语义表示 | |
CN111680753A (zh) | 一种数据标注方法、装置、电子设备及存储介质 | |
CN111522901A (zh) | 文本中地址信息的处理方法及装置 | |
US11868714B2 (en) | Facilitating generation of fillable document templates | |
CN113486664A (zh) | 文本数据可视化分析方法、装置、设备及存储介质 | |
CN113742496B (zh) | 一种基于异构资源融合的电力知识学习系统及方法 | |
CN110895587B (zh) | 用于确定目标用户的方法和装置 | |
CN113761137B (zh) | 一种提取地址信息的方法及装置 | |
CN110852082B (zh) | 同义词的确定方法及装置 | |
CN116976321A (zh) | 文本处理方法、装置、计算机设备、存储介质和程序产品 | |
CN115964997A (zh) | 选择题的混淆选项生成方法及装置、电子设备、存储介质 | |
CN113722421B (zh) | 一种合同审计方法和系统,及计算机可读存储介质 | |
CN113704422A (zh) | 一种文本推荐方法、装置、计算机设备和存储介质 | |
CN116662523B (zh) | 一种基于gpt模型的生化知识问答方法、系统及存储介质 | |
CN118170908A (zh) | 分类模型的构建方法、数据分类方法、装置、设备及介质 | |
CN112767022B (zh) | 移动应用功能演化趋势预测方法、装置及计算机设备 | |
CN115909390B (zh) | 低俗内容识别方法、装置、计算机设备以及存储介质 | |
Alzuru et al. | Human-Machine Information Extraction Simulator for Biological Collections | |
CN110969011B (zh) | 文本情感分析方法、装置、存储介质及处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |