信息处理方法、装置、电子设备及存储介质与流程

文档序号:20842290发布日期:2020-05-22 17:39阅读:191来源:国知局
信息处理方法、装置、电子设备及存储介质与流程

本申请涉及机器学习技术领域,更具体地,涉及一种信息处理方法、装置、电子设备及存储介质。



背景技术:

随着人工智能的不断发展,相应的算法技术也在不断拓宽,在研发新的算法时,需要将新的算法与现有的算法进行比较,以获知新的算法的性能。而对于研究人员来说,为进行比较,首先需要获取相应的数据集,其次是使用现有的机器学习算法对数据进行训练并预测,但是在不断优化算法时,会大量重复前述工作。因此目前研究人员难以获知算法的优劣,机器学习算法的改进较为繁琐。



技术实现要素:

本申请实施例提出了一种信息处理方法、装置、电子设备及存储介质,以提高算法评估效率,进而提高算法开发效率。

第一方面,本申请实施例提供了一种信息处理方法,所述方法包括:获取评估请求,所述评估请求包括数据集标识和算法标识;获取所述数据集标识对应的目标数据集;基于所述目标数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;获取所述待评估模型的评估结果;通过用户终端输出所述评估结果,以提示所述待评估算法的评估结果。

可选地,所述页面包括一个或多个输入项,所述确定所述页面是否存在待填写的输入项之后,所述方法还包括:在所述页面不存在待填写的输入项时,生成页面提交提示,所述页面提交提示用于提示提交所述页面。

可选地,所述获取所述数据集标识对应的目标数据集,包括:获取所述数据集标识对应的本地路径和云端路径;当所述云端路径的云端时间戳大于所述本地路径的本地时间戳时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,所述方法还包括:在无法获取到所述数据集标识对应的本地路径时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,所述获取所述数据集标识对应的本地路径和云端路径之后,所述方法还包括:当所述云端路径的云端时间戳不大于所述本地路径的本地时间戳时,基于所述本地路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,所述基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集,包括:基于所述云端路径,下载所述数据集标识对应的云端数据集;将所述云端数据集存储于所述数据集标识对应的本地路径,并将所述云端数据集作为所述目标数据集;根据所述云端路径的云端时间戳,配置所述本地路径的本地时间戳,以使所述本地时间戳大于或等于所述云端时间戳。

可选地,所述将所述云端数据集存储于所述数据集标识对应的本地路径,包括:将所述云端数据集存储于指定路径;更新所述指定路径为所述数据集标识对应的本地路径。

可选地,所述目标数据集预先存储于所述数据集标识对应的云端路径,所述获取所述数据集标识对应的目标数据集之前,所述方法还包括:从所述数据集标识对应的目标设备获取所述数据集标识对应的初始数据集;对所述初始数据集进行预处理得到预处理后的数据集,并将所述预处理后的数据集存储于所述数据集标识对应的云端路径。

可选地,所述从所述数据集标识对应的目标设备获取所述数据集标识对应的初始数据集,包括:基于预设时间间隔,向所述数据集标识对应的目标设备发送查询请求,所述查询请求用于查询所述数据集标识对应的初始数据集是否已更新;若所述数据集标识对应的初始数据集已更新,从所述目标设备获取所述数据集标识对应的新的初始数据集;根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

可选地,所述从所述数据集标识对应的目标设备获取所述数据集标识对应的初始数据集,包括:获取数据更新请求,所述数据更新请求包括所述数据集标识;基于所述数据更新请求,向所述数据集标识对应的目标设备请求所述数据集标识对应的新的初始数据集;根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

可选地,所述预处理包括缺失值处理、异常值处理、编码处理以及归一化处理中的至少一种。

可选地,所述目标数据集包括训练数据集、验证数据集和测试数据集,所述基于所述目标数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型,包括:基于所述训练数据集和所述验证数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;所述获取所述待评估模型的评估结果,包括:获取所述待评估模型基于所述测试数据集进行预测的评估结果,作为所述待评估模型的评估结果。

可选地,所述评估请求还包括目标评估指标,所述基于所述目标数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型,包括:基于所述目标数据集和所述算法标识对应的训练方法,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;所述获取所述待评估模型的评估结果,包括:获取所述待评估模型对应于所述目标评估指标的评估结果,所述目标评估指标由所述评估请求确定,所述目标评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种。

可选地,所述获取评估请求之前,所述方法还包括:获取待评估算法;确定所述待评估算法对应的算法标识、训练方法以及可选评估指标,所述可选评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种;将所述待评估算法与所述待评估算法对应的算法标识、训练方法以及可选评估指标对应存储,其中,所述训练方法以及所述可选评估指标均与所述算法标识对应。

可选地,所述获取所述待评估模型对应于所述目标评估指标的评估结果,包括:当所述目标评估指标与所述算法标识对应的可选评估指标匹配时,获取所述待评估模型对应于所述目标评估指标的评估结果。

第二方面,本申请实施例提供了一种信息处理装置,该装置包括:请求获取模块,用于获取评估请求,所述评估请求包括数据集标识和算法标识;数据获取模块,用于获取所述数据集标识对应的目标数据集;模型训练模块,用于基于所述目标数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;模型评价模块,用于获取所述待评估模型的评估结果;结果输出模块,用于输出所述评估结果,以提示所述待评估算法的评估结果。

可选地,所述数据获取模块包括:路径获取子模块以及第一获取子模块,其中:路径获取子模块,用于获取所述数据集标识对应的本地路径和云端路径;第一获取子模块,用于当所述云端路径的云端时间戳大于所述本地路径的本地时间戳时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,所述获取所述数据集标识对应的本地路径和云端路径之后,信息处理装置还包括:第二获取模块,其中:第二获取模块,用于当所述云端路径的云端时间戳不大于所述本地路径的本地时间戳时,基于所述本地路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,信息处理装置还包括:第三获取模块,其中:第三获取模块,用于在无法获取到所述数据集标识对应的本地路径时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

可选地,所述第一获取子模块以及所述第三获取模块,均包括:云端下载单元、云端存储单元以及云端配置单元,其中:云端下载单元,用于基于所述云端路径,下载所述数据集标识对应的云端数据集;云端存储单元,用于将所述云端数据集存储于所述数据集标识对应的本地路径,并将所述云端数据集作为所述目标数据集;云端配置单元,用于根据所述云端路径的云端时间戳,配置所述本地路径的本地时间戳,以使所述本地时间戳大于或等于所述云端时间戳。

可选地,云端存储单元包括:指定存储子单元以及指定更新子单元,其中:指定存储子单元,用于将所述云端数据集存储于指定路径;指定更新子单元,用于更新所述指定路径为所述数据集标识对应的本地路径。

可选地,所述目标数据集预先存储于所述数据集标识对应的云端路径,所述获取所述数据集标识对应的目标数据集之前,所述信息处理装置还包括:初始获取模块以及预处理模块,其中:初始获取模块,用于从所述数据集标识对应的目标设备获取所述数据集标识对应的初始数据集;预处理模块,用于对所述初始数据集进行预处理得到预处理后的数据集,并将所述预处理后的数据集存储于所述数据集标识对应的云端路径。

可选地,所述初始获取模块包括:定时查询子模块、定时获取子模块以及定时更新子模块,其中:定时查询子模块,用于基于预设时间间隔,向所述数据集标识对应的目标设备发送查询请求,所述查询请求用于查询所述数据集标识对应的初始数据集是否已更新;定时获取子模块,用于若所述数据集标识对应的初始数据集已更新,从所述目标设备获取所述数据集标识对应的新的初始数据集;定时更新子模块,用于根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

可选地,所述初始获取模块还包括:订阅请求子模块、订阅获取子模块以及订阅更新子模块,其中:订阅请求子模块,用于获取数据更新请求,所述数据更新请求包括所述数据集标识;订阅获取子模块,用于基于所述数据更新请求,向所述数据集标识对应的目标设备请求所述数据集标识对应的新的初始数据集;订阅更新子模块,用于根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

可选地,所述预处理包括缺失值处理、异常值处理、编码处理以及归一化处理中的至少一种。

可选地,所述目标数据集包括训练数据集、验证数据集和测试数据集,所述模型训练模块包括:训练子模块,其中:训练子模块,用于基于所述训练数据集和所述验证数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;所述模型评价模块包括:预测子模块,其中:预测子模块,用于获取所述待评估模型基于所述测试数据集进行预测的评估结果,作为所述待评估模型的评估结果。

可选地,所述评估请求还包括目标评估指标,所述模型训练模块包括:训练方法子模块,其中:训练方法子模块,用于基于所述目标数据集和所述算法标识对应的训练方法,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;所述模型评价模块包括:指标预测子模块,其中:指标预测子模块,用于获取所述待评估模型对应于所述目标评估指标的评估结果,所述目标评估指标由所述评估请求确定,所述目标评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种。

可选地,所述获取评估请求之前,所述信息处理装置还包括:算法获取模块、算法配置模块以及配置存储模块,其中:算法获取模块,用于获取待评估算法;算法配置模块,用于确定所述待评估算法对应的算法标识、训练方法以及可选评估指标,所述可选评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种;配置存储模块,用于将所述待评估算法与所述待评估算法对应的算法标识、训练方法以及可选评估指标对应存储,其中,所述训练方法以及所述可选评估指标均与所述算法标识对应。

可选地,所述指标预测子模块,还包括:指标匹配单元,其中:指标匹配单元,用于当所述目标评估指标与所述算法标识对应的可选评估指标匹配时,获取所述待评估模型对应于所述目标评估指标的评估结果。

第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述第一方面所述的方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,该计算机可读取存储介质中存储有程序代码,该程序代码可被处理器调用执行如上述第一方面所述的方法。

本申请实施例提供了一种信息处理方法、装置、电子设备及存储介质,通过获取评估请求,评估请求包括数据集标识和算法标识,然后获取数据集标识对应的目标数据集,接着基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型,并获取待评估模型的评估结果,最后通过用户终端输出评估结果,以提示待评估算法的评估结果。由此,使得用户只需输入数据集标识、算法标识,即可获取算法在该数据集上的基准数据,从而可大大简化评估算法优劣的过程,减少研发过程的大量重复工作,提高研发效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种适用于本申请实施例的应用环境示意图;

图2示出了本申请一个实施例提供的信息处理方法的流程示意图;

图3示出了本申请另一个实施例提供的信息处理方法的流程示意图;

图4示出了本申请实施例提供的一种数据集存储示意图;

图5示出了本申请又一个实施例提供的信息处理方法的流程示意图;

图6示出了本申请再一个实施例提供的信息处理方法的流程示意图;

图7示出了本申请实施例提供的一种数据预处理示意图。

图8示出了本申请还一个实施例提供的信息处理方法的流程示意图;

图9示出了本申请又另一个实施例提供的信息处理方法的流程示意图;

图10示出了本申请又再一个实施例提供的信息处理方法的流程示意图;

图11示出了本申请再另一个实施例提供的信息处理方法的流程示意图;

图12示出了本申请再又一个实施例提供的信息处理方法的流程示意图;

图13示出了本申请实施例提供的信息处理装置的结构框图;

图14示出了本申请实施例的用于执行根据本申请实施例的信息处理方法的电子设备的结构框图。

图15示出了本申请实施例的用于保存或者携带实现根据本申请实施例的信息处理方法的程序代码的存储单元。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着人工智能的不断发展,相应的算法技术也在不断拓宽,在研发新的算法时,需要对现有的算法进行比较。而发明人发现,目前对于研究人员来说,研发算法后与现有算法比较时,首先需要获取相应的数据集,其次是使用现有的机器学习算法对数据进行训练并预测。但是搭建这样的环境往往需要大量重复的工作,且受到机器学习运行环境影响,参数有一定的误差。因此提供一个方便可用的机器学习基准数据系统非常必要。

现有的机器学习基准数据系统主要有如欧洲的莱顿大学的openml系统和美国宾夕法尼亚大学的pmlb系统。上述系统可分为数据与算法两部分:

在数据方面:openml系统将搜集的开源数据集进行数据处理后存放在云端,被授权用户可通过编写本地算法获取该数据集;pmlb系统则是将数据集作为压缩包,存放在代码仓库中,由用户自行下载并查看,数据集为原始数据集,需数据预处理才可以正常使用该数据。

在算法方面:openml系统则是将算法封装成接口,用户本地定义算法任务类型,通过该接口提交到系统云端后进行运算和评估;pmlb系统则是通过调用第三方机器学习算法进行运算和评估。

但是,发明人发现目前机器学习基准数据系统存在以下不足:

在数据方面:openml系统虽然提供了预处理后的数据集,但存放在云端,用户无法本地查看数据,且系统更新数据源由运营维护,缺点为数据更新周期长,目前开源数据源平台都在不断发布新数据集,openml系统未实现实时的开源数据集维护工作;对于pmlb系统中数据集为原始数据,需进行繁琐的数据预处理工作,由于pmlb数据集由代码库维护,数据更新与代码更新未分离,长时间容易导致版本难以控制。

在算法方面:openml系统需要用户本地对算法进行定义,通过接口实现云端运算,算法的定义需遵从其规范,用户输入被严格限制,调试时也极为不便;pmlb则是直接使用第三方库进行运算,实现的算法未能得到统一接口,使用时较为不便。

基于上述问题,发明人经过一系列研究,提出了信息处理方法、装置、电子设备及存储介质,以简化算法评估操作,提高算法评估的效率,进而提高算法开发效率,促进机器学习算法的研发和发展。

为便于更好的理解本申请实施例提供的信息处理方法、装置、电子设备及存储介质,下面先对适用于本申请实施例的应用环境进行描述。

请参阅图1,图1示出了一种适用于本申请实施例的应用环境示意图。本申请实施例提供的信息处理方法可以应用于如图1所示的信息处理系统100。信息处理系统100包括终端设备101以及服务器102,服务器102与终端设备101通信连接。其中,服务器102可以是传统服务器,也可以是云端服务器,在此不作具体限定。

其中,终端设备101可以包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和可穿戴式电子设备等。

在一些实施例中,终端设备101上可以安装有客户端应用程序,用户可以基于客户端应用程序(例如app、微信小程序等)与服务器102进行通信。具体的,服务器102上安装有对应的服务端应用程序,用户可以基于客户端应用程序在服务器102注册一个用户帐号,并基于该用户帐号与服务器102进行通信。例如,用户在客户端应用程序登录用户帐号,并基于该用户帐号通过客户端应用程序进行输入,可以输入文字信息或语音信息等,客户端应用程序接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至终端设备101。

在另一些实施例中,终端设备101也可基于操作系统的自带接口与用户进行交互,基于自带接口获得用户的输入信息。例如,若终端设备101运行windows操作系统,用户可基于命令行窗口,通过命令行输入信息。可以理解的是,还可基于不同的接口,前述仅为示意性描述,不对本申请实施例构成限定。

在一些实施方式中,对用户输入的信息进行处理的装置也可以设置于终端设备101上,使得终端设备101无需依赖与服务器102建立通信即可实现与用户的交互,此时信息处理系统100可以只包括终端设备101。

上述的应用环境仅为方便理解所作的示例,可以理解的是,本申请实施例不仅局限于上述应用环境。

下面将通过具体实施例对本申请实施例提供的信息处理方法、装置、电子设备及存储介质进行详细说明。

请参阅图2,图2示出了本申请一个实施例提供的信息处理方法的流程示意图,可应用于上述终端设备,下面将针对图2所示的流程进行详细的阐述。上述的信息处理方法具体地可以包括以下步骤:

步骤s101:获取评估请求。

其中,评估请求包括数据集标识和算法标识,用于基于数据集标识对应的数据集对算法标识对应的算法进行评估,得到算法的评估结果。评估请求由用户输入信息确定,用户可基于终端设备输入数据集标识和算法标识,终端设备基于用户输入的数据集标识和算法标识,获取评估请求。

在一些实施方式中,终端设备可显示输入界面,用户可基于输入界面输入数据集标识和算法标识,以使终端设备获取包含数据集标识和算法标识的评估请求。作为一种方式,输入界面可显示有输入框等控件,用户可基于输入界面显示的输入框输入;作为另一种方式,输入界面也可以是命令行窗口,可用于接收用户输入的命令行信息,命令行信息包括数据集标识和算法标识。

另外,可以理解的是,用户输入信息也可多种多样,并基于操作系统的不同,输入界面还可以以其他形式显示,前述仅为示意性说明,本实施例不对具体输入形式和输入界面的具体形式作限定。

在一些实施例中,数据集标识可以是数据集的名称,例如,根据数据集的名称,数据集标识可以为“mnist”、“ms-coco”、“imagenet”等。在另一些实施例中,数据集标识也可以是数据集的标号、其他命名等自定义字符信息,即在预先存储数据集时,可对各数据集进行标号、命名等,并将标号、命名等字符信息作为数据集标识与数据集对应存储,以根据这些数据集对应的自定义字符信息确定对应的数据集。

在一些实施例中,算法标识可以是算法的名称,例如,逻辑回归(logisticregression)算法的算法标识可以为“logisticregression”、梯度提升决策树(gradientboostingdecisiontree,gbdt)的算法标识可以为(gradientboostingdecisiontree),随机森林算法的算法标识可以为“randomforest”等。在另一些实施例中,算法标识也可以是算法对应的标号、命名等自定义字符信息,即在预先存储算法时,可对各算法进行标号、命名等,并将标号、命名等字符信息作为算法标识与算法对应存储,以根据这些算法对应的自定义字符信息可确定对应的算法。

步骤s102:获取数据集标识对应的目标数据集。

在一些实施方式中,数据集可存储于本地,也可存储于服务器,终端设备根据数据集标识,可确定数据集标识对应的目标数据集,并获取数据集标识对应的目标数据集。

步骤s103:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

本实施例中,终端设备基于算法标识可获取算法标识对应的待评估算法,基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

在一些实施方式中,可通过字符串匹配确定算法标识对应的待评估算法,将评估请求中算法标识与可选的算法的算法标识进行匹配,获得匹配值,并返回匹配值最高的算法作为算法标识对应的待评估算法。由此,可提高系统容错性,在用户没有输入正确的算法标识时,仍可确定对应的算法作为待评估算法。

作为一种实施方式,可具体采用difflib库实现上述字符串匹配方法,difflib库是python的标准库模块,可用于轻量级字符串匹配。由此,可快速返回匹配值,提高匹配效率,从而更快根据算法标识确定待评估算法。

在一些实施例中,终端设备可基于目标数据集作为待评估算法的训练样本,对待评估算法进行训练,得到待评估算法在目标数据集上的模型参数,作为待评估模型的模型参数,以得到训练好的待评估模型。在一种实施方式中,模型参数也可以为使得损失函数满足指定条件的模型参数。本实施例对此不做限定,指定条件可根据需求设定,也可以程序预设、还可以是用户自定义的。例如,指定条件可以为待评估模型的损失函数达到最小值,还可以为损失函数小于指定阈值等。

步骤s104:获取待评估模型的评估结果。

本实施例中,获得训练好的待评估模型后,可基于训练好的待评估模型,在用于预测的数据集上进行预测,得到模型预测结果和正确预测结果进行比较,可获取待评估模型的评估结果。在一些实施方式中,用于预测的数据集可以与用于训练的数据集不同,但同属于目标数据集,在另一些实施方式中,用于预测的数据集也可以不是目标数据集中的数据集,本实施例对此不做限定。

由于对一个机器学习模型的评估有多个维度,例如维度可包括但不限于可选评估指标包括准确率(precision)、召回率recall、准确率与召回率的调和平均数(f1值,f1-score)、灵敏度(tpr)、特异度(fpr)以及混淆矩阵(confusionmatrix)等。

在一种实施方式中,基于待评估模型库在用于预测的数据集上进行预测,得到的评估结果可以包括一个或多个维度的评估结果。还可以是所有维度的评估结果,在此不作限定。

步骤s105:通过用户终端输出评估结果,以提示待评估算法的评估结果。

本实施例中,获得评估结果后,可通过用户终端输出评估结果,以提示待评估算法的评估结果,使得用户可获知待评估算法在算法标识对应的目标数据集上的性能,从而可评估算法优劣,以根据评估结果作后续操作,例如在评估结果不佳时,可再根据评估结果对算法进行改进,

进一步地,在改进后,还可再通过本方法对改进后的算法进行评估,以不断优化和改进算法,而每次评估无需用户自行反复获取数据集、反复搭建评估环境,不仅简化了评估操作,提高评估和研发效率,而且若评估流程每次由用户自行操作,可能存在人为误差,无法每次都在相同的环境下进行评估,使得多次评估结果可能无法相互参考和比较,因而通过本方法只需用户输入数据集标识和算法标识就可得到输出结果,可在用户不参与中间流程和操作的情况下得到输出结果,避免了人为误差,因此还可提高评估准确性,提高评估结果的置信度和参考性。

其中,用户终端可以是实现本方法的终端设备,也可以是其他终端设备,例如用户a基于终端设备a输入数据集标识和算法标识,可通过终端设备b输出评估结果。

在一些实施方式中,可通过语音输出评估结果、可通过表格形式输出评估结果,也可通过纯文本形式输出评估结果,还可通过字节码形式等各种方式输出评估结果,只需可提示待评估算法的评估结果即可,除此之外,本实施例对具体输出形式不作任何限定。

本实施例提供的信息处理方法,通过获取评估请求,评估请求包括数据集标识和算法标识,然后获取数据集标识对应的目标数据集,接着基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型,并获取待评估模型的评估结果,最后通过用户终端输出评估结果,以提示待评估算法的评估结果。由此,使得用户只需输入数据集标识、算法标识,即可获取算法在该数据集上的基准数据,不仅可大大简化评估算法优劣的操作,减少研发过程的大量重复工作,提高研发效率,而且可在用户不参与中间流程和操作的情况下得到输出结果,避免了人为误差,因此还可提高评估准确性,提高评估结果的置信度和参考性。

在一些实施例中,数据集可能同时存储于本地路径和云端路径,此时可比较两个路径的时间戳,以在获取数据集标识对应的目标数据集时,获取时间戳更新的数据集,来训练待评估算法,由于随着数据集更新往往会更有利于训练算法,因而可提高对待评估算法进行评估的参考性,避免因为数据集误差影响算法开发效率,从而可提高算法开发效率。具体地,请参阅图3,图3示出了本申请另一个实施例提供的信息处理方法,可以应用于上述终端设备,该方法可以包括:

步骤s201:获取评估请求。

步骤s202:获取数据集标识对应的本地路径和云端路径。

本实施例中,数据集可存储于本地、云端或同时存储于本地和云端。其中,本地路径为数据集在本地存储的路径,终端设备可通过本地路径获取到本地路径存储的数据集;云端路径为数据集在云端存储的路径,终端设备可通过云端路径获取到云端路径存储的数据集。终端设备根据数据集标识,可获取数据集标识对应的本地路径和云端路径。

在一些实施方式中,存储数据集标识对应的数据集时,可将多个数据集和数据集描述文件对应存储,如图4所示。其中,数据集描述文件中包括每个数据集对应的数据集标识、时间戳和路径。

作为一种实施方式,数据集描述文件可存储本地和云端的存储信息。具体地,其中,若数据集存储于云端,时间戳为云端时间戳,路径为云端路径;若数据集存储于本地,时间戳为本地时间戳,路径为本地路径。由此,终端设备在根据评估请求获取到数据集标识时,可获取数据集描述文件,并基于数据集描述文件查找数据集标识对应的时间戳和路径。

作为另一种实施方式,数据集描述文件可仅存储云端的存储信息。此时,时间戳为云端时间戳,路径为云端路径。由此,终端设备在根据评估请求获取到数据集标识时,可获取数据集描述文件,并基于数据集描述文件查找数据集标识对应的云端时间戳和云端路径,再于本地查找数据集标识对应的本地时间戳和本地路径。

其中,数据集描述文件可以存储于云端,也可存储于本地,在此不做限定。作为一种方式,数据集描述文件可存储于云端,以降低本地存储

在一些实施例中,本地未存储有数据集标识对应的数据集,终端设备无法获取到数据集标识对应的本地路径,此时可基于云端路径,获取数据集标识对应的数据集作为目标数据集。另外,终端设备在可获取到数据集标识对应的本地路径时,可执行步骤s203。

步骤s203:判断云端路径的云端时间戳是否大于本地路径的本地时间戳。

于本实施例中,在判断云端路径的云端时间戳是否大于本地路径的本地时间戳之后,还可包括:

当云端路径的云端时间戳大于本地路径的本地时间戳时,可执行步骤s204;

当云端路径的云端时间戳不大于本地路径的本地时间戳时,可执行步骤s205。

步骤s204:基于云端路径,获取数据集标识对应的数据集作为目标数据集。

当云端路径的云端时间戳大于本地路径的本地时间戳时,基于云端路径,获取数据集标识对应的数据集作为目标数据集。由此,终端设备在获取数据集标识对应的目标数据集时,可查询本地路径和云端路径,并在云端数据集比本地新时,基于云端路径获取目标数据集。由此可根据时间戳,获取与数据集标识对应更新的数据集作为目标数据集。

步骤s205:基于本地路径,获取数据集标识对应的数据集作为目标数据集。

当云端路径的云端时间戳不大于本地路径的本地时间戳时,基于本地路径,获取数据集标识对应的数据集作为目标数据集。由此,终端设备在获取数据集标识对应的目标数据集时,可查询本地路径和云端路径,在云端数据集不比本地新时,直接基于本地路径获取目标数据集。由此可根据时间戳,获取与数据集标识对应更新的数据集作为目标数据集,并若本地更新时,可直接基于本地路径获取,从而可不依赖网络,提高目标数据集的获取效率。

步骤s206:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s207:获取待评估模型的评估结果。

步骤s208:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本实施例提供的信息处理方法,通过在获取目标数据集时,查询本地路径和云端路径,并在云端数据集的云端时间戳大于本地路径的本地时间戳时,基于云端路径,获取数据集标识对应的数据集作为目标数据集;在云端时间戳不大于本地时间戳时,可基于本地路径,获取数据集标识对应的数据集作为目标数据集,由此,可在云端数据集更新时,从云端路径获取数据集标识对应的新的数据集作为目标数据集,而在云端数据集未更新,仍与本地路径的数据集相同时,可从本地路径直接获取数据集作为目标数据集,从而在保证数据集的时新性的基础上,还可提高数据集获取效率。

在一些实施例中,终端设备在云端路径的云端时间戳大于本地路径的本地时间戳时,可从云端获取数据集作为目标数据集,并在获取到后存储于本地路径,并更新本地时间戳。由此,使得在下次获取该数据集时,在云端路径的数据集未更新之前,终端设备可直接从本地获取本次存储好的数据集作为目标数据集,提高数据集获取、加载效率,并且还可以无需依赖网络,提高系统可用性。具体地,请参阅图5,图5示出了本申请又一个实施例提供的信息处理方法,可以应用于上述终端设备,该方法可以包括:

步骤s301:获取评估请求。

步骤s302:获取数据集标识对应的本地路径和云端路径。

步骤s303:判断云端路径的云端时间戳是否大于本地路径的本地时间戳。

于本实施例中,在判断云端路径的云端时间戳是否大于本地路径的本地时间戳之后,还可包括:

当云端路径的云端时间戳大于本地路径的本地时间戳时,可执行步骤s304;

当云端路径的云端时间戳不大于本地路径的本地时间戳时,可执行步骤s307。

步骤s304:基于云端路径,下载数据集标识对应的云端数据集。

当云端路径的云端时间戳大于本地路径的本地时间戳时,基于云端路径,下载数据集标识对应的云端数据集

步骤s305:将云端数据集存储于数据集标识对应的本地路径,并将云端数据集作为目标数据集。

在一些实施方式中,可先将云端数据集存储于指定路径,再更新指定路径为数据集标识对应的本地路径。由此,下次在云端路径的云端时间戳未更新时,可直接基于本地路径获取本次从云端下载好的数据集。

在另一些实施方式中,也可将从云端路径下载的数据集直接存储于数据集标识对应的本地路径。由此,可不必更新本地路径,就可在下次云端时间戳不大于本地时间戳时,直接基于原来的本地路径获取本次从云端下载好的数据集,进一步提高数据集在本地更新和获取的效率。

步骤s306:根据云端路径的云端时间戳,配置本地路径的本地时间戳,以使本地时间戳大于或等于云端时间戳。

步骤s307:基于本地路径,获取数据集标识对应的数据集作为目标数据集。

当云端路径的云端时间戳不大于本地路径的本地时间戳时,基于本地路径,获取数据集标识对应的数据集作为目标数据集

步骤s308:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s309:获取待评估模型的评估结果。

步骤s310:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

另外,在一些实施例中,目标数据集可预先存储于数据集标识对应的云端路径,终端设备在将数据集存储于云端路径前,可以对数据集进行预处理,避免现有数据集来源各异,格式不一带来的数据缺失、数据不平衡等问题,给评估结果带来误差,因此在存储数据集到云端路径前,可统一对数据集进行预处理,以避免数据集误差导致基于相同数据集继续评估的评估结果不一致,减少因为数据集预处理的不同而带来的差异,从而可提高评估准确率,进而提高评估结果的参考性。并且通过将预处理后的数据集存储于云端,可节省用户去各个数据源网站寻找数据的耗时,进一步提高效率。具体地,请参阅图6,图6示出了本申请再一个实施例提供的信息处理方法,该方法可以包括:

步骤s401:从数据集标识对应的目标设备获取数据集标识对应的初始数据集。

其中,目标设备对应提供数据集的数据源,目标设备可以是一种终端设备,也可以是一种服务器,目标设备存储有数据源的数据集。其中,不同目标设备可对应不同数据源,数据源可以可通过网站发布数据集,以提供数据集供用户下载,网站可记为数据源网站。由此终端设备可通过数据源网站下载数据集。

其中,数据源即数据集的来源,可包括但不限于uci数据源(加州大学欧文分校(universityofcaliforniairvine)提出的用于机器学习的数据库)、kaggle数据源(为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台)、openml数据源(开源的、免授权费的、跨平台的数据库)。

可以理解的是,“数据源”只是本申请实施例中所使用的一个词语,其代表的含义在实施例中已经记载,其名称并不能对本申请各实施例构成任何限制;另外,在其他一些实施例中,“数据源”也可以被称为例如“数据库”等其他名字。

其中,初始数据集表征从数据源获取的数据集,目标数据集可从初始数据集中确定。

在一些实施方式中,终端设备在uci数据源包括数据集标识对应的数据集时,可向uci数据源对应的目标设备获取数据集标识对应的初始数据集,具体地,在一个示例中,终端设备可通过http服务从uci数据源下载数据集。在kaggle数据源包括数据集标识对应的数据集时,终端设备还可向kaggle数据源对应的目标设备获取数据集标识对应的初始数据集,具体地,在一个示例中,可基于脚本从kaggle数据源下载数据集。在openml数据源包括数据集标识对应的数据集时,终端设备还可向openml数据源对应的目标设备获取数据集标识对应的初始数据集,具体地,在一个示例中,终端设备可通过ftp服务下载数据集。

本实施例中,终端设备在评估前,预先获取数据集,存储于数据集对应的云端路径,具体地,可从数据集标识对应的目标设备获取数据集标识对应的初始数据集。由此,可预先收集好数据集,以便在获取评估请求时,可直接获取数据集,而可以无需向数据源请求,而且相较于目前必需由用户自行去查找数据集,可以大大简化用户评估操作,避免大量繁琐的工作,同时通过收集数据集并统一预处理,可使得基于同一数据集的不同评估结果之间可具有更高的参考价值,避免数据数据集误差等原因素导致评估结果不可信。因而可提高评估准确性和评估结果的参考性。

在一些实施方式中,存储数据集后,可更新数据集描述文件。若数据集描述文件存在数据集对应的数据集标识,可更新云端时间戳、云端路径中至少一个。若数据集描述文件不存在数据集对应的数据集标识,可在数据集描述文件中添加数据集对应的数据集标识、云端路径以及云端时间戳,并对应存储。

在一些实施例中,终端设备可定时向数据源查询数据集是否更新,并在更新时获取新的数据集作为新的初始数据集。即可定时从数据集标识对应的目标设备获取数据集标识对应的数据集作为初始数据集。具体实施方式可见后述实施例,在此不再赘述。

在另一些实施例中,终端设备可订阅数据源的数据集更新消息,使得数据源在数据集更新时,可发送数据更新请求至终端设备,由此,终端设备可获取数据更新请求,来主动请求新的数据集作为新的初始数据集。具体实施方式可见后述实施例,在此不再赘述。

在又一些实施例中,还可允许通过人工添加的方式补充初始数据集,从而有效补充初始数据集的数据,以达到更新初始数据集的目的。在一个示例中,可在获取新的数据时,通过相应标注后作为样本数据存储入初始数据集,以进行补充。从而使得初始数据集更匹配算法发展需求,避免数据集不足影响训练和评估结果,从而可进一步提高系统可用性。并且,采用人工添加的方式补充数据集,还可在即便数据源未提供更新,也可根据需求自行补充数据集,进而又可大大提高系统可用性。

步骤s402对初始数据集进行预处理得到预处理后的数据集,并将预处理后的数据集存储于数据集标识对应的云端路径。

由于数据集一般是一些研究机构、企业、个体等发布的数据集,数据集来源各异,格式不一,往往具有缺失数据、数据不平衡等问题,而在训练和预测中,通常数据格式需要统一成指定格式才可进行训练、预测。而目前用户在需要评估算法性能时,通常需要重新下载数据集,并进行相应的数据预处理后,再安装算法库进行训练和预测,此时,通常因为数据预处理操作、流程不同,同一算法即便经相同数据集训练,其预测得到评估结果也不一致,导致了基准评估的参考性不高。

由此,终端设备通过获取初始数据集,对初始数据集进行预处理得到预处理后的数据集,并将预处理后的数据集存储于数据集标识对应的云端路径,可统一收集多源数据集,并对多源数据集进行预处理,再上传至云端存储于云端路径,可避免因格式不一、数据确实、数据突变等异常因素带来的数据集误差,导致评估结果存在偏差,因此可大大提高评估结果的置信度和参考性,提高评估准确性。

在一些实施例中,预处理可包括缺失值处理、异常值处理、编码处理以及归一化处理中的至少一种。下面对几种预处理方式进行简要说明如下:

在一些实施方式中,缺失值处理,可用于通过搜索数据中是否存在空值,若空值出现概率小于1%,可直接删除。其中,空值出现概率为空值占全部数据的比值,例如,全部数据共计100个,其中有一个是空值,则空值出现概率就是1%。若空值出现概率不小于1%,可使用数据中出现频率最高的数据进行填充。例如,全部数据为[1,2,3,non,5,1,2,1,4,1],其中1出现次数为4次,可将空值non替换为次数最高的数据1。

在一些实施方式中,异常值处理,可首先匹配数据类型是否为整数型或浮点型。若是,可获取数据类型为整数型以及数据类型为浮点型的目标数据,并对目标数据进行异常检测,从目标数据中获得异常值,异常值即异常的数据,并基于指定数据修改异常值以实现异常值处理。

作为一种实施方式,可使用高斯模型进行异常检测。在一个示例中,具体地,可以计算出数据的均值u与方差σ,并根据正态分布公式如下述公式(1)算出f(x),设置阈值ε(如可设置为0.001),当f(x)小于阈值时,则认为为异常值,此时可将该数据使用均值进行填充;

其中,异常检测的方式可根据需要确定,可以不仅限于高斯模型,还可使用基于距离的异常检测、基于密度的异常检测等,本实施例对此不做限定。

在一些实施方式中,编码处理,用于将数据的特征类型统一成数值型。通常机器学习算法的输入特征为数值型,而真实环境下数据的特征类型有数值型、非数值型以及布尔类型,如何整合特征类型对于机器学习算法建模非常重要,因而需经编码处理整合特征类型。作为一种实施方式,针对非数值型特征将按照其类别统计,例如,从1到n个类别进行编码,如输入数据为[a,b,c,d,e,a],则编码后输出[1,2,3,4,5,1],对于布尔类型则是直接转化为0或1。

在一些实施方式中,归一化处理,用于简化计算,将有量纲的表达式,经过变换,化为无量纲的表达式,将数据映射到0~1范围之内,以方便数据处理。由于不同特征之间不同的量纲会影响最后的训练效果,归一化处理使得特征之间量纲均为0到1之间,本系统采用标准差方式进行归一化处理,具体来说,即求出输入数据的均值与方差,然后将输入数据减去均值后除以方差,使得处理后的数据呈正态分布。

在一些实施例中,可采用用于交换数据的管线段的线性通信模型(pipeline)对初始数据集的数据进行预处理,由于pipeline两端输入输出一致,因此可通过新增pipeline从而增加预处理方式。例如,原先仅有缺失值处理,则预处理中仅包含缺失值处理pipeline,而在还需要异常值处理时,可在缺失值处理pipeline后再增加用于异常值处理的异常值处理pipeline。由此,通过pipeline进行预处理,可方便地调整预处理方式,根据需要选择合适的pipeline。

在一种实施方式中,可基于pipeline实现四种预处理方式,包括缺失值处理、异常值处理、编码处理以及归一化处理,此时在一个示例中,如图7所示,图7示出了一种预处理pipeline,输入数据依次经过缺失值处理pipeline、异常值处理pipeline、编码处理pipeline以及归一化处理pipeline,得到输出数据,输出数据即为对输入数据进行了上述四种预处理方式的预处理后得到的数据。

需要说明的是,pipeline再其他实施例中还可称为“管道”等,其具体含义已在实施例中记载,其具体命名不对本实施例构成限定。

步骤s403:获取评估请求。

步骤s404:获取数据集标识对应的目标数据集。

步骤s405:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s406:获取待评估模型的评估结果。

步骤s407:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

另外,在一些实施例中,终端设备可定时向数据源查询数据集是否已更新,并在已更新时更新原来的初始数据集。由此,可通过设置合适的预设时间间隔,可及时获取最新的数据集以用于评估,避免数据集长期不更新导致训练和评估结果难以与当下算法发展匹配,从而可满足训练和评估需求,提高系统可用性。具体地,请参阅图8,图8示出了本申请还一个实施例提供的信息处理方法,该方法可以包括:

步骤s501:基于预设时间间隔,向数据集标识对应的目标设备发送查询请求。

其中,查询请求用于查询数据集标识对应的初始数据集是否已更新。

其中,预设时间间隔可根据实际需求确定,也可以是程序预设,还可以是用户自定义。作为一种实施方式,预设时间间隔可以是每天设置一个或多个时间段,以每天在一个或多个时间段发送查询请求,查询是否更新。在一个示例中,预设时间间隔可以是每天9:00-10:00、20:00-21:00等,在此不作具体限定。作为另一种实施方式,预设时间间隔也可以是一个时间段,每间隔该时间段则向目标设备发送查询请求。例如,预设时间间隔可以是30分钟、1小时、3小时、1天等,在此不作限定。

在一种实施方式中,终端设备可基于预设时间间隔,查询数据集标识对应的数据源网站是否有更新日志。若有,则可判定数据集标识对应的初始数据集已更新。另外在一些示例中,若无,可以判定数据集标识对应的初始数据集未更新,本次可以不进行更新。

在另一种实施方式中,终端设备也可基于爬虫技术,基于预设时间间隔,爬取数据集标识对应的数据源网站的信息。在一个示例中,若爬取到数据集标识对应的新信息,可判定数据集标识对应的初始数据集已更新,而新信息可以是新的初始数据集。

步骤s502:若数据集标识对应的初始数据集已更新,从目标设备获取数据集标识对应的新的初始数据集。

本实施例中,若数据集标识对应的初始数据集已更新,终端设备可从目标设备获取数据集标识对应的新的初始数据集。具体地,可从数据源网站下载数据集标识对应的新的初始数据集,以使数据集标识对应的目标设备发送新的初始数据集,终端设备可获取该新的初始数据集。

步骤s503:根据新的初始数据集,更新数据集标识对应的初始数据集。

在一种实施方式中,新的初始数据集可以仅是在数据集标识对应的初始数据集的基础上的新增部分,终端设备可通过将新的初始数据集添加至数据集标识对应的初始数据集上,以更新原初始数据集为新的初始数据集。

在另一种实施方式中,新的初始数据集可以是完整的初始数据集,包括数据集标识对应的初始数据集中的数据,此时,终端设备可更新数据集标识对应的初始数据集为新的初始数据集。

步骤s504:对初始数据集进行预处理得到预处理后的数据集,并将预处理后的数据集存储于数据集标识对应的云端路径。

步骤s505:获取评估请求。

步骤s506:获取数据集标识对应的目标数据集。

步骤s507:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s508:获取待评估模型的评估结果。

步骤s509:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

另外,在一些实施例中,终端设备可以订阅数据源,数据源更新数据集时,可发送数据更新请求至终端设备,终端设备可获取数据更新请求,来主动请求新的数据集作为新的初始数据集。由此,通过订阅数据更新消息,可在数据集更新时及时获取新的数据集并更新原来的数据集,由此可进一步提高更新效率,降低系统功耗,避免数据集长期不更新导致训练和评估结果难以与当下算法发展匹配,从而可满足训练和评估需求,提高系统可用性。具体地,请参阅图9,图9示出了本申请又另一个实施例提供的信息处理方法,该方法可以包括:

步骤s601:获取数据更新请求。

其中,数据更新请求,包括数据集标识,用于提示数据集标识对应的数据集已更新。

在一种实施方式中,终端设备可以订阅数据源,在数据源更新数据集时,可通过数据源对应的目标设备发送数据更新请求至终端设备,终端设备可获取数据更新请求。在一个示例中,用户可在数据源网站上开通订阅服务,以使得终端设备与数据源网站对应的目标设备建立连接,在数据源发布新的数据集或更新时,目标设备可向终端设备发送数据更新请求,以提示用户数据集标识对应的数据集已更新。

步骤s602:基于数据更新请求,向数据集标识对应的目标设备请求数据集标识对应的新的初始数据集。

终端设备基于数据更新请求,可向数据集标识对应的目标设备请求数据集标识对应的新的初始数据集,以主动请求数据集标识对应的新的数据集作为新的初始数据集。

步骤s603:根据新的初始数据集,更新数据集标识对应的初始数据集。

步骤s604:对初始数据集进行预处理得到预处理后的数据集,并将预处理后的数据集存储于数据集标识对应的云端路径。

步骤s605:获取评估请求。

步骤s606:获取数据集标识对应的目标数据集。

步骤s607:基于目标数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s608:获取待评估模型的评估结果。

步骤s609:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,数据集标识对应的目标数据集包括训练数据集、验证数据集和测试数据集,分别利用训练数据集和验证数据集进行训练,并利用测试数据集进行预测以得到评估结果,由此,可通过预先对数据集进行分配,来提高训练、评估效率,并且在训练数据集、验证数据集和测试数据集的分配方式统一的情况下,可在多次基于该数据集标识对应的数据集进行评估时,可降低评估环境的差异,提高评估效果的参考性。具体地,请参阅图10,图10示出了本申请又再一个实施例提供的信息处理方法,可以应用于上述终端设备,该方法可以包括:

步骤s701:获取评估请求。

步骤s702:获取数据集标识对应的目标数据集。

在一些实施方式中,获取数据集标识对应的目标数据集时,可将目标数据集进行划分。具体地,目标数据集可分为训练数据集(trainingset)、验证数据集(crossvalidationset)以及测试数据集(testset)。

作为一种实施方式,可根据指定比例和数据集中数据标签的类别对数据集中的数据按比例进行划分,得到目标数据集对应的训练数据集、验证数据集以及测试数据集。例如,若目标数据集中包括第一指定数量的第一标签的数据,第二指定数量的第二标签的数据有200组,则从第一标签的第一指定数量的数据中随机取出第一数量的数据存放于训练数据集,取出第二数量的数据存放于验证数据集,取出第三数量的数据存放于测试数据集,其中,第一指定数量大于或等于第一数量、第二数量和第三数量之和;从而第二标签的第二指定数量的数据中取出第四数量的数据存放于训练数据集,取出第五数量的数据存放于验证数据集,取出第六数量的数据存放于测试数据集。将得到的训练数据集、验证数据集和测试数据集打包为新的目标数据集,以将新的目标数据集作为数据集标识对应的目标数据集进行后续的训练、预测。在一个示例中,可将新的目标数据集打包为zip文件。

在一些实施例中,在取出数据存放于训练数据集、验证数据集以及测试数据集前,还可先对数据进行随机排列,以随机取出数据进行存放。

在一些实施例中,在打包新的目标数据集之前,还可对对应的训练数据集、验证数据集和测试数据集中的数据进行随机排列,再打包为新的目标数据集。

在一个具体示例中,若标签为1的数据有100组,标签为0的数据有200组,可对标签为1的100组数据进行随机排列,前0.6×100组数据放在训练集中,其后的0.2×100组数据放在验证集中,最后的0.2×100组数据放在测试集中,对于标签为0的200组数据统一进行随机排列,并按照6:2:2的比例将数据放入训练集、验证集以及测试集中,当所有标签数据处理后重新将数据进行随机排列,最后数据打包为zip文件。为方便用户查看数据集的基本特征,系统还可存储特征名称、特征种类、训练数据集中数据个数、验证数据集中数据个数以及测试数据集中数据个数等,并与数据集标识对应,使得用户可根据前述新型选择数据集。

其中,训练数据集用于拟合模型,设置模型参数,得到初始模型。验证数据集,用于进一步调整模型参数,得到最优模型。测试数据集,用于衡量最优模型的性能,对模型性能进行评价。

步骤s703:基于训练数据集和验证数据集,训练算法标识对应的待评估算法,得到训练好的待评估模型。

终端设备可基于训练数据集对算法标识对应的待评估算法进行模型拟合,得到初始待评估模型,并根据验证数据集调整初始待评估模型的模型参数,得到训练好的待评估模型。

步骤s704:获取待评估模型基于测试数据集进行预测的评估结果,作为待评估模型的评估结果。

本实施例中,待评估模型在测试数据集进行预测,获取待评估模型基于测试数据集进行预测的评估结果,作为待评估模型的评估结果。由此,可基于测试数据集评估待评估模型的性能。

其中,评估结果可包括但不限于准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种。

步骤s705:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,评估请求还包括要评估的目标评估指标,使得用户可根据评估需求,输入目标评估指标,以获得针对性的评估结果,从而可提高评估效率。具体地,请参阅图11,图11示出了本申请再另一个实施例提供的信息处理方法,该方法可包括:

步骤s801:获取评估请求。

其中,目标评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种。

在一些实施方式中,用户在需要对算法进行评估时,可输入数据集标识、算法标识、目标评估指标,终端设备可输出算法标识对应的算法在数据集标识对应的数据集上的目标评估指标的评估结果,由此只需用户输入数据集标识、算法标识、目标评估指标,即可得到评估结果,简化了评估操作,同时也提高评估效率进而提高研发效率。

步骤s802:获取数据集标识对应的目标数据集。

步骤s803:基于目标数据集和算法标识对应的训练方法,训练所述算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s804:获取待评估模型对应于目标评估指标的评估结果,目标评估指标由评估请求确定。

步骤s805:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,在对待评估算法进行评估前,可先获取待评估算法,并对待评估算法配置算法标识、训练方法、可选评估指标,使得在获取评估请求后,可基于预先配置的算法标识获取算法,基于预先配置的训练方法进行训练,可避免训练方法于待评估算法不匹配导致无法评估,通过可选评估指标限定待评估算法可被评估的评估指标,避免在用户输入的目标评估指标不属于可被评估的评估指标时,造成系统卡死或无法继续正常运行,提高系统运行效率、评估效率,提高系统可用性。具体地,请参阅图12,图12示出了本申请再又一个实施例提供的信息处理方法,该方法可包括:

步骤s901:获取待评估算法。

本实施例中,终端设备获取评估请求前,可先获取待评估算法,以添加待评估算法,使得后续可对待评估算法进行训练、评估等。

其中,待评估算法可包括但不限于决策树算法、朴素贝叶斯算法、梯度提升决策树gbdt(gradientboostingdecisiontree)、k近邻、线性判别分析算法、逻辑回归算法、多类贝叶斯算法、二次判别分析算法、随机森林算法、支持向量机算法、极端梯度提升(xgboost)算法、提升机器算法(lightgbm)等。在一些实施方式中,前述算法可预先存储于本地或服务器的算法库,在需要评估时,可通过注册机制进行加载。在另一些实施方式中,若需要对未预先存储的新算法进行评估,可通过动态添加的方式读取新算法以进行评估。

在一些实施方式中,可基于注册机制,获取预先存储的算法作为待评估算法。在一个示例中,终端设备可显示有系统界面,系统界面可显示有输入框与注册控件,通过检测是否有基于该注册控件的操作,可在检测到时,获取输入框内输入的算法标识,并将算法标识对应的待评估算法注册到注册列表内。使得在程序初始化时,从注册列表内查找待评估算法,在查找到待评估算法时,可加载该待评估算法。由此,在获取到评估请求时,可根据评估请求包含的算法标识,触发后续对该待评估算法的训练、评估等。

在另一些实施方式中,除了可添加预先存储的算法外,还可动态添加未预先存储的算法,作为待评估算法,以可根据该算法对应评估请求,可对该算法进行训练、评估等后续操作,以得到评估结果。其中,,动态添加指在程序运行过程中,添加算法的方式。由此,通过动态添加可避免频繁初始化,提高效率,还可大大提高扩展性,使得用于评估的算法可单独开发,研发人员研发新的算法后也可添加至系统中,以方便地进行评估。

作为一种方式,终端设备可获取用户上传的算法,并存储于本地文件夹内,并根据算法对应的算法标识,对文件夹进行命名。由此在获取的评估请求包括该用户上传的算法的算法标识时,可确定算法标识对应的文件夹,并从文件夹读取算法,以进行训练、评估等后续操作,得到评估结果,由此可动态添加新的算法进行评估,可扩展性强,使得用户在研发过程中可方便地基于本申请实施例提供的方法进行评估,有利于优化和改进,提高开发效率。

进一步地,在一些实施例中,终端设备在存储算法时,可将算法存储于本地缓存,由此,可在程序下次初始化时,通过读取本地缓存,仍可找到之前添加的算法,以响应该算法对应的评估请求。从而可避免在需要对一个算法进行多次评估时,需要反复注册或动态添加的情况,以进一步提高评估和开发效率。

需要说明的是,动态添加的具体定义已在前述说明,而其命名方式在不同实施例有所不同,例如,在其他一些实施例中,动态添加也可称为热插拔、热添加、热运行等。因此前述命名方式仅为示例,不对本实施例构成限定。

步骤s902:确定待评估算法对应的算法标识、训练方法以及可选评估指标。

其中,可选评估指标包括准确率(precision)、召回率recall、准确率与召回率的调和平均数(f1值,f1-score)、灵敏度(tpr)、特异度(fpr)以及混淆矩阵(confusionmatrix)中的至少一种。每个可选评估指标对应指标标识,在一个示例中,指标标识可对应为各可选指标的英文名称、中文名称、预设标号等,在此不作限定。

由于不同的算法可被评估的指标可能不同,因而对不同算法可配置对应的可选评估指标,以在用户输入的目标评估指标与可选评估指标不匹配时,不执行评估,在一些示例中,还可提示用户重新输入目标评估指标。由此可避免因无法计算的评估指标得不到评估结果而导致程序卡死等异常情况,从而可提高系统可用性。

其中,f1值=准确率*召回率*2/(准确率+召回率),可用于对准确率和召回率进行整体评价。

其中,训练方法,可以为算法的学习方式,包括但不限于有监督学习(supervisedlearning)、无监督学习(unsupervisedlearning)、强化学习(reinforcementlearning)、梯度下降(gradientdescent)等。

由于每个算法适用的算法标识、可被评估的指标可能不同,所以可在对待评估算法预先配置适用的算法标识和可选评估指标,以提高评估效率,也提高系统可用性。

在一些实施例中,还可确定待评估算法对应的预测方法,预测方法与可选评估指标对应,具体为如何计算可选评估指标对应的评估记过的方法。例如算法a、算法b均对应可选评估指标有准确率,此时若预测方法不同,则在对算法a评估时,算法a的准确率的计算公式可能不同于算法b的准确率的计算公式不同。

步骤s903:将待评估算法与待评估算法对应的算法标识、训练方法以及可选评估指标对应存储。

其中,训练方法以及可选评估指标均与算法标识对应。由于每个算法适用的算法标识、可被评估的指标可能不同,所以可在对待评估算法预先配置适用的算法标识和可选评估指标,将待评估算法与待评估算法对应的算法标识、训练方法以及可选评估指标对应存储,其中,训练方法以及可选评估指标均与算法标识对应。由此可以提高评估效率,也提高系统可用性。

步骤s904:获取评估请求。

步骤s905:获取数据集标识对应的目标数据集。

步骤s906:基于目标数据集和算法标识对应的训练方法,训练算法标识对应的待评估算法,得到训练好的待评估模型。

步骤s907:获取待评估模型的评估结果。

在一些实施方式中,当目标评估指标与算法标识对应的可选评估指标匹配时,获取待评估模型对应于目标评估指标的评估结果。由此,在用户输入的目标评估指标属于待评估算法的可选指标时,才可获取对应的评估结果,避免在用户输入的目标评估指标不属于可被评估的评估指标时,造成系统卡死或无法继续正常运行,提高系统运行效率、评估效率,提高系统可用性。

步骤s908:通过用户终端输出评估结果,以提示待评估算法的评估结果。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本实施例提供的信息处理方法,在前述实施例的基础上,对待评估算法进行评估前,可先获取待评估算法,并对待评估算法配置算法标识、训练方法、可选评估指标,使得在获取评估请求后,可基于预先配置的算法标识获取算法,基于预先配置的训练方法进行训练,可避免训练方法于待评估算法不匹配导致无法评估,通过可选评估指标限定待评估算法可被评估的评估指标,避免在用户输入的目标评估指标不属于可被评估的评估指标时,造成系统卡死或无法继续正常运行,提高系统运行效率、评估效率,提高系统可用性。并实现了只需用户输入数据集标识、算法标识、目标评估指标,即可得到输出结果,简化了评估操作,并且避免了评估过程中人为因素的参与,又统一了用于评估的数据集,可大大提高评估准确性以及输出评估结果的置信度和参考性,同时也提高评估效率进而提高研发效率。

下面以一个具体的例子对上述实施例提供的信息处理方法进行示意性说明如下:

例如,用户在房价预测的数据集上研发了新的算法m,并基于本方法获知评估结果包括准确率为96%,召回率80%,f1值为0.92,若用户需要获知算法m与现有算法之间的性能比较,例如需要对比逻辑回归算法的性能时,用户只需基于终端设备输入数据集标识:房价预测,逻辑回归算法的算法标识:logisticregression,目标评估指标:precision,终端设备可输出评估结果包括:logisticregression算法在房价预测数据集上的准确率。另若目标评估指标为:recall时,可输出logisticregression算法在房价预测数据集上的召回率值,另若目标评估指标为:f1-score时,logisticregression算法在房价预测数据集上的f1值。由此,根据算法m基于房价预测数据集上得到的评估结果与逻辑回归算法基于房价预测数据集上得到的评估结果,可得到用户研发的算法m的性能在目前算法发展的水平,可提供后续研发方向的参考。并且评估操作简单,只需用户输入数据集标识、算法标识、目标评估指标,即可得到输出结果,并且避免了评估过程中人为因素的参与,又通过对用于评估的数据集整合和预处理,避免数据集误差带来的评估偏差,可大大提高评估准确性以及输出评估结果的置信度和参考性,同时也提高评估效率进而提高研发效率。

请参阅图13,图13示出了本申请实施例提供的信息处理装置1000的结构框图。下面将针对图13所示的框图进行阐述,该信息处理装置1000包括:请求获取模块1010、数据获取模块1020、模型训练模块1030、模型评价模块1040以及结果输出模块1050,其中:

请求获取模块1010,用于获取评估请求,所述评估请求包括数据集标识和算法标识;

数据获取模块1020,用于获取所述数据集标识对应的目标数据集;

模型训练模块1030,用于基于所述目标数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;

模型评价模块1040,用于获取所述待评估模型的评估结果;

结果输出模块1050,用于通过用户终端输出所述评估结果,以提示所述待评估算法的评估结果。

进一步地,所述数据获取模块1020包括:路径获取子模块以及第一获取子模块,其中:

路径获取子模块,用于获取所述数据集标识对应的本地路径和云端路径;

第一获取子模块,用于当所述云端路径的云端时间戳大于所述本地路径的本地时间戳时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

进一步地,所述获取所述数据集标识对应的本地路径和云端路径之后,信息处理装置1000还包括:第二获取模块,其中:

第二获取模块,用于当所述云端路径的云端时间戳不大于所述本地路径的本地时间戳时,基于所述本地路径,获取所述数据集标识对应的数据集作为目标数据集。

进一步地,信息处理装置1000还包括:第三获取模块,其中:

第三获取模块,用于在无法获取到所述数据集标识对应的本地路径时,基于所述云端路径,获取所述数据集标识对应的数据集作为目标数据集。

进一步地,所述第一获取子模块以及所述第三获取模块,均包括:云端下载单元、云端存储单元以及云端配置单元,其中:

云端下载单元,用于基于所述云端路径,下载所述数据集标识对应的云端数据集;

云端存储单元,用于将所述云端数据集存储于所述数据集标识对应的本地路径,并将所述云端数据集作为所述目标数据集;

云端配置单元,用于根据所述云端路径的云端时间戳,配置所述本地路径的本地时间戳,以使所述本地时间戳大于或等于所述云端时间戳。

进一步地,云端存储单元包括:指定存储子单元以及指定更新子单元,其中:

指定存储子单元,用于将所述云端数据集存储于指定路径;

指定更新子单元,用于更新所述指定路径为所述数据集标识对应的本地路径。

进一步地,所述目标数据集预先存储于所述数据集标识对应的云端路径,所述获取所述数据集标识对应的目标数据集之前,所述信息处理装置1000还包括:初始获取模块以及预处理模块,其中:

初始获取模块,用于从所述数据集标识对应的目标设备获取所述数据集标识对应的初始数据集;

预处理模块,用于对所述初始数据集进行预处理得到预处理后的数据集,并将所述预处理后的数据集存储于所述数据集标识对应的云端路径。

进一步地,所述初始获取模块包括:定时查询子模块、定时获取子模块以及定时更新子模块,其中:

定时查询子模块,用于基于预设时间间隔,向所述数据集标识对应的目标设备发送查询请求,所述查询请求用于查询所述数据集标识对应的初始数据集是否已更新;

定时获取子模块,用于若所述数据集标识对应的初始数据集已更新,从所述目标设备获取所述数据集标识对应的新的初始数据集;

定时更新子模块,用于根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

进一步地,所述初始获取模块还包括:订阅请求子模块、订阅获取子模块以及订阅更新子模块,其中:

订阅请求子模块,用于获取数据更新请求,所述数据更新请求包括所述数据集标识;

订阅获取子模块,用于基于所述数据更新请求,向所述数据集标识对应的目标设备请求所述数据集标识对应的新的初始数据集;

订阅更新子模块,用于根据所述新的初始数据集,更新所述数据集标识对应的初始数据集。

进一步地,所述预处理包括缺失值处理、异常值处理、编码处理以及归一化处理中的至少一种。

进一步地,所述目标数据集包括训练数据集、验证数据集和测试数据集,所述模型训练模块1030包括:训练子模块,其中:

训练子模块,用于基于所述训练数据集和所述验证数据集,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;

所述模型评价模块1040包括:预测子模块,其中:

预测子模块,用于获取所述待评估模型基于所述测试数据集进行预测的评估结果,作为所述待评估模型的评估结果。

进一步地,所述评估请求还包括目标评估指标,所述模型训练模块1030包括:训练方法子模块,其中:

训练方法子模块,用于基于所述目标数据集和所述算法标识对应的训练方法,训练所述算法标识对应的待评估算法,得到训练好的待评估模型;

所述模型评价模块1040包括:指标预测子模块,其中:

指标预测子模块,用于获取所述待评估模型对应于所述目标评估指标的评估结果,所述目标评估指标由所述评估请求确定,所述目标评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种。

进一步地,所述获取评估请求之前,所述信息处理装置1000还包括:算法获取模块、算法配置模块以及配置存储模块,其中:

算法获取模块,用于获取待评估算法;

算法配置模块,用于确定所述待评估算法对应的算法标识、训练方法以及可选评估指标,所述可选评估指标包括准确率、召回率、准确率与召回率的调和平均数、灵敏度、特异度以及混淆矩阵中的至少一种;

配置存储模块,用于将所述待评估算法与所述待评估算法对应的算法标识、训练方法以及可选评估指标对应存储,其中,所述训练方法以及所述可选评估指标均与所述算法标识对应。

进一步地,所述指标预测子模块,还包括:指标匹配单元,其中:

指标匹配单元,用于当所述目标评估指标与所述算法标识对应的可选评估指标匹配时,获取所述待评估模型对应于所述目标评估指标的评估结果。

本申请实施例提供的信息处理装置用于实现前述方法实施例中相应的信息处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的技术人员可以清楚地了解到,本申请实施例提供的信息处理装置能够实现前述方法实施例中的各个过程,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参阅前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本申请实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参考图14,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备1100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备1100可以包括一个或多个如下部件:处理器1110、存储器1120以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1120中并被配置为由一个或多个处理器1110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器1110可以包括一个或者多个处理核。处理器1110利用各种接口和线路连接整个电子设备1100内的各个部分,通过运行或执行存储在存储器1120内的指令、程序、代码集或指令集,以及调用存储在存储器1120内的数据,执行电子设备1100的各种功能和处理数据。可选地,处理器1110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1110中,单独通过一块通信芯片进行实现。

存储器1120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器1120可用于存储指令、程序、代码、代码集或指令集。存储器1120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

请参阅图15,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质1200中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读取存储介质1200可以是诸如闪存、电可擦除可编程只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质1200包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质1200具有执行上述方法中的任何方法步骤的程序代码1210的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1210可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1