模型评估方法、模型评估装置、电子设备和存储介质
文献发布时间:2023-06-19 11:39:06
技术领域
本公开属于人工智能领域,更具体地,涉及一种模型评估方法、模型评估装置、电子设备和存储介质。
背景技术
当前机器学习模型在大型企业中得到了越来越广泛的应用,例如在金融业的风险防控和智能营销领域。在机器学习模型正式应用之前,需要了解模型的性能。
目前针对机器学习模型的评价方法,一般是根据模型的类型和建模目标选取相应的评价指标,通过对评价指标数值的比较来判断模型的优劣。例如针对分类模型,常见的评价指标有AUC值,准确率、召回率、预测精度等,针对回归模型,常见的评价指标有均方误差、均方根误差、R2系数等。这些不同类型的模型评价指标根据其数值大小的不同,可反映模型的性能。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:
相关技术中的评价指标大小与使用的测试集的质量高度相关,如果构造的测试集的质量差,无法客观的反映待评估模型的有效性能。
发明内容
有鉴于此,本公开实施例提供了一种不依赖于测试集的质量,能够客观地获取机器学习模型的有效性能的模型评估方法,以及模型评估装置、电子设备和存储介质。
本公开实施例的一个方面提供了一种模型评估方法。所述模型评估方法包括:基于待评估模型对测试集中用户数据的预测结果,获取所述待评估模型的第一指标,其中,所述第一指标用于表征所述待评估模型的预测性能,所述待评估模型为机器学习模型。基于所述待评估模型的类型确定至少一个随机模型,其中,所述随机模型为非机器学习模型,所述至少一个随机模型包括第一随机模型。基于所述第一随机模型对所述测试集中用户数据的随机预测结果,获取第二指标,其中,所述第二指标用于表征所述第一随机模型的预测性能。基于所述第一指标与所述第二指标的差值对所述待评估模型进行评估。
根据本公开的实施例,在基于所述待评估模型的类型确定所述第一随机模型之前,还包括:基于所述待评估模型的类型确定第二随机模型,其中,所述第二随机模型的预测性能低于所述第一随机模型的预测性能,所述至少一个随机模型包括所述第二随机模型。基于所述第二随机模型对所述测试集中用户数据的随机预测结果,获取第三指标,其中,所述第三指标用于表征所述第二随机模型的预测性能。当所述第一指标与所述第三指标的差值满足预设条件时,基于所述待评估模型的类型确定所述第一随机模型。
根据本公开的实施例,还包括获得所述待评估模型的类型,包括:获得所述待评估模型对所述测试集中用户数据进行预测而输出的预测数值的类型,其中,所述预测数值与所述预测结果具有对应关系。基于所述预测数值的类型确定所述待评估模型的类型,其中,所述预测数值的类型包括离散值类型、连续值类型中的至少一种。
根据本公开的实施例,当所述预测数值的类型为离散值类型时,其中,所述基于所述待评估模型的类型确定至少一个随机模型包括:确定每个随机模型的正确概率,其中,所述正确概率包括所述随机模型对所述测试集中每个用户数据进行预测而输出的随机预测数值与该用户数据的第一标签数值相同的概率,所述第一标签数值包括预先根据每个用户数据的种类而标注的数值,其中,所述第一标签数值为离散值类型,所述第一标签数值的种类与所述测试集中用户数据的种类对应。基于所述正确概率确定每个所述随机模型。
根据本公开的实施例,所述确定每个所述随机模型包括确定所述第一随机模型,具体包括:获得第一训练集中每种用户数据的分布比例,其中,每种用户数据对应一种所述第一标签数值,其中,所述第一训练集用于训练所述待评估模型。基于所述每种用户数据的分布比例确定对应的第一概率。基于所述第一概率确定所述第一随机模型,其中,所述正确概率包括所述第一概率。
根据本公开的实施例,所述确定每个所述随机模型包括确定所述第二随机模型,具体包括:获得所述第一标签数值的N个种类,其中,N为大于或等于2的整数。基于所述N个种类确定第二概率,其中,包括:所述第二概率为1/N。基于所述第二概率确定所述第二随机模型,其中,所述正确概率包括所述第二概率。
根据本公开的实施例,当所述预测数值的类型为连续值类型时,其中,所述基于所述待评估模型的类型确定至少一个随机模型包括:基于第二训练集中每个用户数据对应的第二标签数值,确定每个随机模型的随机预测规则,其中,所述第二训练集用于训练所述待评估模型。基于每个所述随机预测规则获得对应的连续值集合。基于每个所述连续值集合确定每个所述随机模型。
根据本公开的实施例,所述第一随机模型对所述测试集中用户数据进行预测包括:获得第二标签数值集合,其中,所述第二标签数值集合包括所述第二训练集中所有用户数据对应的第二标签数值,所述连续值集合包括所述第二标签数值集合。其中,当所述第一随机模型对所述测试集中每个用户数据进行预测时,从所述第二标签数值集合中随机抽取一个第二标签数值作为随机预测数值。
根据本公开的实施例,所述第二随机模型对所述测试集中用户数据进行预测包括:获得所述第二标签数值中的最大值和最小值。基于所述最大值和所述最小值确定随机预测区间,其中,所述连续值集合包括所述随机预测区间。其中,当所述第二随机模型对所述测试集中每个用户数据进行预测时,从所述随机预测区间内随机获得一个数值作为随机预测数值。
本公开实施例的另一方面提供了一种模型评估装置。所述模型评估装置包括第一获取模块、随机模型模块、第二获取模块和模型评估模块。其中,所述第一获取模块用于基于待评估模型对测试集中用户数据的预测结果,获取所述待评估模型的第一指标,其中,所述第一指标用于表征所述待评估模型的预测性能,所述待评估模型为机器学习模型。所述随机模型模块用于基于所述待评估模型的类型确定至少一个随机模型,其中,所述随机模型为非机器学习模型,所述至少一个随机模型包括第一随机模型。所述第二获取模块用于基于所述第一随机模型对所述测试集中用户数据的随机预测结果,获取第二指标,其中,所述第二指标用于表征所述第一随机模型的预测性能。所述模型评估模块用于基于所述第一指标与所述第二指标的差值对所述待评估模型进行评估。
本公开实施例的另一方面提供了一种电子设备。所述电子设备包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开实施例的又一方面提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下优点或益效果:可以至少部分地解决相关技术中对机器学习模型的评估容易受到测试集质量影响的问题,获得待评估模型对测试集中用户数据的进行预测的第一指标,并获得第一随机模型对测试集中用户数据随机预测的第二指标,通过第一指标和第二指标的差值对所述待评估模型进行评估,由于第一随机模型进行随机预测,受到测试集的影响较小,因此能够客观反映待评估模型的性能。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用模型评估方法的示例性系统架构;
图2示意性示出了根据本公开的实施例的模型评估方法的流程图;
图3示意性示出了根据本公开的另一实施例的模型评估方法的流程图;
图4示意性示出了根据本公开的实施例的获得待评估模型的类型的流程图;
图5示意性示出了根据本公开的实施例的当所述预测数值的类型为离散值类型时确定至少一个随机模型的流程图;
图6示意性示出了根据本公开一实施例确定所述第一随机模型的流程图;
图7示意性示出了根据本公开另一实施例确定所述第二随机模型的流程图;
图8示意性示出了根据本公开的实施例的当所述预测数值的类型为连续值类型时确定至少一个随机模型的流程图;
图9示意性示出了根据本公开的实施例的第一随机模型对所述测试集中用户数据进行预测的流程图;
图10示意性示出了根据本公开的实施例的第二随机模型对所述测试集中用户数据进行预测的流程图;
图11示意性示出了根据本公开的实施例的模型评估装置的框图;
图12示意性示出了根据本公开的实施例的使用模型评估装置进行模型评估的操作流程图;以及
图13示意性示出了根据本公开实施例的适于实现模型评估方法和装置的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
本公开提供了一种模型评估方法,涉及人工智能领域。该模型评估方法包括:基于待评估模型对测试集中用户数据的预测结果,获取待评估模型的第一指标,其中,第一指标用于表征待评估模型的预测性能,待评估模型为机器学习模型。基于待评估模型的类型确定至少一个随机模型,其中,随机模型为非机器学习模型,至少一个随机模型包括第一随机模型。基于第一随机模型对测试集中用户数据的随机预测结果,获取第二指标,其中,第二指标用于表征第一随机模型的预测性能。基于第一指标与第二指标的差值对待评估模型进行评估。
需要说明的是,本公开实施例的模型评估方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开施例的模型评估方法和装置的方法和装置的应用领域不做限定。
根据本公开的实施例,待评估模型可以为分类模型(例如二分类模型或多分类模型)或者回归模型。例如待评估模型为二分类模型时,可以在金融领域中用于用户信贷业务风险的预测识别,该二分类模型输出的预测数值为离散值,例如若用户为风险用户,则输出“0”,若用户为正常用户,则输出“1”。当待评估模型为回归模型时,该回归模型输出的预测数值为连续值,可以用于进行房价评估、气温预测等结果连续变化的场景,例如通过输入A区域的湿度、风力、季节等数据,可以预测A区域的温度,如16.8℃、18.9℃或25.3℃等。
图1示意性示出了根据本公开实施例的可以应用模型评估方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
根据本公开的实施例,可以通过终端设备101、102、103采集用户数据并形成训练集或测试集存储到服务器105中。其中,服务器105可以利用训练集中的用户数据训练待评估模型。在训练完成后,可以使待评估模型来对测试集中用户数据进行预测,以获得反映待评估模型性能的指标。
在本公开的一些实施例中,训练集和测试集中的用户数据来源可以不完全相同,也可以完全不同。例如通过终端设备101、102、103收集M个用户的贷款记录、资产情况、还款记录、征信报告和收入水平等数据,并预先对M个用户进行标注,例如违约客户标注为“0”,正常客户标注为“1”。服务器105可以从M个用户抽取一部分组成训练集对待评估模型进行训练,然后服务器105可以从M个用户抽取另一部分组成测试集进行测试。
以相关技术中的预测精度(Precision)指标为例,其表征所有预测为正类的示例中,真正为正类(即预测正确的正样本数量)的占比。如果该指标是在严重不均衡的数据集上得出的,譬如绝大部分样本都是正样本的测试集,那么模型本身只需倾向于把大部分样本判断为正样本,即可取得较高数值的预测精度指标。例如测试集中的正常用户与贷款风险用户的比例为9比1,即使服务器105没有训练好待评估模型,若待评估模型将用户全部判断为正常用户,也具有较高的准确率。本公开的一些实施例中,样本可以包括用户或用户数据,测试集中可以包括待测试样本,其中,待评估模型通过对测试集中的用户数据进行预测以输出被测用户的预测结果。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的模型评估方法一般可以由服务器105执行。相应地,本公开实施例所提供的模型评估装置一般可以设置于服务器105中。本公开实施例所提供的模型评估方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的模型评估装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面以金融领域中应用的机器学习模型为例,详细说明本公开实施例的模型评估方法。
图2示意性示出了根据本公开的实施例的模型评估方法的流程图。
如图2所示,该方法可以包括操作S210~操作S240。
在操作S210,基于待评估模型对测试集中用户数据的预测结果,获取待评估模型的第一指标,其中,第一指标用于表征待评估模型的预测性能,待评估模型为机器学习模型。
根据本公开的实施例,以信贷业务风险管理模型为例,该模型能够判断待测试样本是否具有业务风险。例如可以使得该模型的输出值为离散值,其输出结果“0”代表违约客户,“1”代表正常客户。具体地,例如测试集样本量为4000,其中正样本3180个(即正常客户),负样本820个(即违约客户)。在对该模型进行训练之后对上述测试集预测,例如正样本预测正确3120个,预测错误60个,负样本预测正确762个,预测错误58个,那么预测准确率为0.97(即为第一指标)。
在本公开的一些实施例中,可以使得该模型的输出值为连续值,例如输出结果为百分比,以代表一个客户的违约概率。若违约概率大于或等于60%代表违约客户,违约概率小于50%代表正常客户(仅为示例),在50%~60%之间为待复核客户。在对上述测试集进行预测之后,计算预测结果与客户实际违约概率之间的均方根误差作为第一指标。
需要说明的是,训练机器学习模型的方法可以采用相关技术中已有的方法,本公开不对其进行限定。
在操作S220,基于待评估模型的类型确定至少一个随机模型,其中,随机模型为非机器学习模型,至少一个随机模型包括第一随机模型。
根据本公开的实施例,由于构建不同待评估模型的出发点不同,如获得一个用户是否为风险用户,或者获得一个用户的违约概率,导致待评估模型输出的结果不同(例如离散值、连续值),因此可以根据对应的输出结果类型,确定随机模型。
其中,随机模型可以为数学模型,例如通过设定随机预测的概率调整预测性能,那么该随机模型由设定的概率影响,从而能够避免依赖测试集中用户数据的质量。
在操作S230,基于第一随机模型对测试集中用户数据的随机预测结果,获取第二指标,其中,第二指标用于表征第一随机模型的预测性能。
根据本公开的实施例,例如利用第一随机模型对上述测试集的4000个样本进行随机判定,每个用户判定为正样本的概率为3180/4000,判定为负样本的概率为820/4000,最终统计第一随机模型的预测结果,获得预测的准确率作为第二指标。
在操作S240,基于第一指标与第二指标的差值对待评估模型进行评估。
根据本公开实施例的模型评估方法,由于第一随机模型的第二指标消除了对测试集的强依赖,不再以测试集中用户数据作为基准,因此将待评估模型与第一随机模型之间进行对比,能够通过第一指标与第二指标的差值反映出待评估模型的性能提升程度,从而客观反映待评估模型的有效性能。
图3示意性示出了根据本公开的另一实施例的模型评估方法的流程图。
如图3所示,本公开实施例的模型评估方法除包括操作S210、操作S230和操作S240外,在基于待评估模型的类型确定第一随机模型之前,还可以包括操作S310~操作S350。
在操作S210,基于待评估模型对测试集中用户数据的预测结果,获取待评估模型的第一指标,其中,第一指标用于表征待评估模型的预测性能,待评估模型为机器学习模型。
在操作S310,基于待评估模型的类型确定第二随机模型,其中,第二随机模型的预测性能低于第一随机模型的预测性能,至少一个随机模型包括第二随机模型。
根据本公开的实施例,可以预先设置随机条件,调整随机模型对测试集中用户数据的预测性能。当随机模型的预测性能越强时,其随机性越低,需要业务人员耗费较大成本进行条件设置。因此,可以先确定预测性能较低的第二随机模型,利用第二随机模型获得待评估模型的性能。
在操作S320,基于第二随机模型对测试集中用户数据的随机预测结果,获取第三指标,其中,第三指标用于表征第二随机模型的预测性能。
在操作S330,判断第一指标与第三指标的差值是否满足预设条件,若满足预设条件,则执行操作S350,若不满足预设条件,则执行操作S340。
在操作S340,当第一指标与第三指标的差值不满足预设条件时,认定待评估模型为无效模型。
根据本公开的实施例,第二随机模型的预测性能较低,即第三指标反映的预测结果准确性较差。因此,第一指标与第三指标的差值能够体现待评估模型相对于第二随机模型的提升程度,若提升程度有限,或者没有提升,则认为该待评估模型的性能较低,属于无效模型。
在操作S350,当第一指标与第三指标的差值满足预设条件时,基于待评估模型的类型确定第一随机模型。
在操作S230,基于第一随机模型对测试集中用户数据的随机预测结果,获取第二指标,其中,第二指标用于表征第一随机模型的预测性能。
在操作S240,基于第一指标与第二指标的差值对待评估模型进行评估。
根据本公开的实施例,通过一个容易获得的第二随机模型先对待评估模型进行评价,若没有评价通过,则无需再确定第一随机模型。能够提高评估效率,降低评估成本。
下面参考图4~图9,结合具体实施例对图2或图3所示的方法的各种实现方式做进一步说明。
图4示意性示出了根据本公开的实施例的获得待评估模型的类型的流程图。
如图4所示,获得待评估模型的类型可以包括操作S410~操作S420。
在操作S410,获得待评估模型对测试集中用户数据进行预测而输出的预测数值的类型,其中,预测数值与预测结果具有对应关系。
在操作S420,基于预测数值的类型确定待评估模型的类型,其中,预测数值的类型包括离散值类型、连续值类型中的至少一种。
在本公开的实施例中,可以通过判断预测数值属于整数类型还是浮点数类型进行确定。例如“0”、“1”、“2”(仅为示例)等没有小数部分,属于整数类型(离散值类型),“2.1”、“5.0”、“85.2”(仅为示例)等有小数部分,属于浮点数类型(连续值类型)。
根据本公开的实施例,可以在构建待评估模型时,同时确定待评估模型的类型。例如构建、训练以及测试三个阶段由不同的业务人员负责,那么在测试时,可以通过判断预测数值是离散值类型还是连续值类型确定待评估模型的类型。从而能够节省与其他业务人员沟通的时间,无需测试人员进行人工确认。
图5示意性示出了根据本公开的实施例的当预测数值的类型为离散值类型时确定至少一个随机模型的流程图。
如图5所示,获得待评估模型的类型可以包括操作S510~操作S520。
在操作S510,确定每个随机模型的正确概率,其中,正确概率包括随机模型对测试集中每个用户数据进行预测而输出的随机预测数值与该用户数据的第一标签数值相同的概率,第一标签数值包括预先根据每个用户数据的种类而标注的数值,其中,第一标签数值为离散值类型,第一标签数值的种类与测试集中用户数据的种类对应。
在操作S520,基于正确概率确定每个随机模型。
图6示意性示出了根据本公开的一实施例的确定第一随机模型的流程图。
如图6所示,操作S520中确定第一随机模型可以包括操作S610~操作S630。
在操作S610,获得第一训练集中每种用户数据的分布比例,其中,每种用户数据对应一种第一标签数值,其中,第一训练集用于训练待评估模型。
在操作S620,基于每种用户数据的分布比例确定对应的第一概率。
在操作S630,基于第一概率确定第一随机模型,其中,正确概率包括第一概率。
根据本公开的实施例,以信贷业务风险管理模型为例,其训练集样本量可以为5000(其中,正样本4000个,负样本1000个)。其中,正样本的分布比例为0.8,负样本的分布比例为0.2。那么第一随机模型对每个样本判定为正样本的第一概率为80%,判定为负样本的第一概率为20%。即输出“1”的概率为80%,输出“0”的概率为20%。
根据本公开的实施例,在第一随机模型对测试集中的每个用户进行预测时,首先,可以利用随机数生成函数随机生成[0,1]区间内的数值。然后,对输出的随机值进行判断,当输出的随机值小于或等于0.8时,第一随机模型输出“1”。当输出的随机值大于0.8时,第一随机模型输出“0”。以此可以形成一个数学模型作为第一随机模型,结合训练集对第一随机模型的随机预测概率进行控制,提高了第一随机模型的预测性能。
图7示意性示出了根据本公开的另一实施例的确定第二随机模型的流程图。
如图7所示,操作S520中确定第二随机模型可以包括操作S710~操作S730。
在操作S710,获得第一标签数值的N个种类,其中,N为大于或等于2的整数。
在操作S720,基于N个种类确定第二概率,其中,包括:第二概率为1/N。
在操作S730,基于第二概率确定第二随机模型,其中,正确概率包括第二概率。
根据本公开的实施例,例如上述信贷业务风险管理模型的训练集中存在正样本和负样本两种用户数据类型。相应地,“1”和“0”代表两个种类的标签数值。因此,可以通过N=2,确定第二随机模型对每个样本进行预测时获得“1”或“0”的概率相等,即都为50%。
根据本公开的实施例,在第二随机模型对测试集中的每个用户进行预测时,首先,可以利用随机数生成函数随机生成[0,1]区间内的数值。然后,对输出的随机值进行判断,当输出的随机值小于或等于0.5时,第二随机模型输出“1”。当输出的随机值大于0.5时,第二随机模型输出“0”。以此可以形成一个数学模型作为第二随机模型,并且不必获取到训练集中用户数据的分布比例,节省了获取训练集的时间,能够较为快速的获取到第二随机模型。
需要说明的是,上述通过随机数生成函数构建第一随机模型或者第二随机模型的过程仅为示例,还可以使用其他方式获得随机模型,本公开不对其进行限定。
图8示意性示出了根据本公开的实施例的当预测数值的类型为连续值类型时确定至少一个随机模型的流程图。
如图8所示,获得待评估模型的类型可以包括操作S810~操作S830。
在操作S810,基于第二训练集中每个用户数据对应的第二标签数值,确定每个随机模型的随机预测规则,其中,第二训练集用于训练待评估模型。
在操作S820,基于每个随机预测规则获得对应的连续值集合。
在操作S830,基于每个连续值集合确定每个随机模型。
根据本公开的实施例,每个随机模型的随机预测规则可以影响随机模型的预测性能。这里随机预测规则可以是收集连续值以组成连续值集合的规则。然后,在对测试集中的每个样本进行随机预测时,每个随机模型的随机预测数值可以从连续值集合中获得,最后,将获得的随机预测数值作为每个样本的预测结果。
图9示意性示出了根据本公开的实施例的第一随机模型对测试集中用户数据进行预测的流程图。
如图9所示,当预测数值为连续值时,第一随机模型对测试集中用户数据进行预测可以包括操作S910~操作S920。
在操作S910,获得第二标签数值集合,其中,第二标签数值集合包括第二训练集中所有用户数据对应的第二标签数值,连续值集合包括第二标签数值集合。
在操作S920,当第一随机模型对测试集中每个用户数据进行预测时,从第二标签数值集合中随机抽取一个第二标签数值作为随机预测数值。
根据本公开的实施例,例如信贷业务风险管理模型可以输出每个用户的违约概率。例如第二训练集中包括10个用户,各个用户的第二标签数值(即违约概率)分别为[15.2%,20.0%,30.5%,40.5%,52.6%,56.8%,60.5%,70.5%,80.2%,90.7%](仅为示例)。测试集数据中例如也包括10个用户,第一随机模型在对一个待测试用户进行预测时,可以从上述集合中随机抽取一个标签数值作为预测结果。在对测试集中用户数据预测完成后,得到一个随机预测数值集合。并且,还可以通过该随机预测数值集合与测试集的第二标签数值集合,计算均方根误差作为第一随机模型的指标。
根据本公开的实施例,例如构建信贷业务风险管理模型的目的是为了在实际生活中应用,在对信贷业务风险管理模型进行训练或者测试时,训练集或者测试集中的样本分布一般会遵循真实数据样本分布。因此,第一随机模型从训练集中随机获得预测数值,以对测试集中的用户数据进行预测,可以具有较高的预测性能。
需要说明的是,上述以10个用户为例仅为表述清楚,在实际应用中可根据需求选择用户数量,本公开不对其进行限制。
图10示意性示出了根据本公开的实施例的第二随机模型对测试集中用户数据进行预测的流程图。
如图10所示,当预测数值为连续值时,第二随机模型对测试集中用户数据进行预测可以包括操作S1010~操作S1030。
在操作S1010,获得第二标签数值中的最大值和最小值。
在操作S1020,基于最大值和最小值确定随机预测区间,其中,连续值集合包括随机预测区间。
在操作S1030,当第二随机模型对测试集中每个用户数据进行预测时,从随机预测区间内随机获得一个数值作为随机预测数值。
根据本公开的实施例,例如上述第二训练集中用户的第二标签数值的最小值为15.2%,最大值为90.7%。因此,可以确定随机预测区间[15.2%,90.7%],当第二随机模型对每个待测试用户进行预测时,从上述区间中随机获得一个数值。在对测试集中用户数据预测完成后,得到一个随机预测数值集合。并且还可以利用该随机预测数值集合与测试集的第二标签数值集合,计算均方根误差作为第二随机模型的指标。
根据本公开的实施例,第二随机模型能够基于第二标签值的最大值和最小值进行构建,相对于第一随机模型获取了训练集中所有的第二标签值而言,构建第二随机模型的速度更快。
图11示意性示出了根据本公开的实施例的模型评估装置1100的框图。
如图11所示,模型评估装置1100包括第一获取模块1110、随机模型模块1120、第二获取模块1130和模型评估模块1140。
第一获取模块1110例如可以执行操作S210,用于基于待评估模型对测试集中用户数据的预测结果,获取待评估模型的第一指标,其中,第一指标用于表征待评估模型的预测性能,待评估模型为机器学习模型。
随机模型模块1120例如可以执行操作S220,用于基于待评估模型的类型确定至少一个随机模型,其中,随机模型为非机器学习模型,至少一个随机模型包括第一随机模型。
根据本公开的实施例,随机模型模块1120可以包括第一随机模型模块,第一随机模型模块例如可以执行操作S310~操作S350,用于基于待评估模型的类型确定第二随机模型,其中,第二随机模型的预测性能低于第一随机模型的预测性能,至少一个随机模型包括第二随机模型。基于第二随机模型对测试集中用户数据的随机预测结果,获取第三指标,其中,第三指标用于表征第二随机模型的预测性能。当第一指标与第三指标的差值满足预设条件时,基于待评估模型的类型确定第一随机模型。
根据本公开的实施例,第一随机模型模块还可以执行操作S510~操作S520,用于确定每个随机模型的正确概率,其中,正确概率包括随机模型对测试集中每个用户数据进行预测而输出的随机预测数值与该用户数据的第一标签数值相同的概率,第一标签数值包括预先根据每个用户数据的种类而标注的数值,其中,第一标签数值为离散值类型,第一标签数值的种类与测试集中用户数据的种类对应。基于正确概率确定每个随机模型。
根据本公开的实施例,第一随机模型模块例如还可以执行操作S610~操作S630,获得第一训练集中每种用户数据的分布比例,其中,每种用户数据对应一种第一标签数值,其中,第一训练集用于训练待评估模型。基于每种用户数据的分布比例确定对应的第一概率。基于第一概率确定第一随机模型,其中,正确概率包括第一概率。
根据本公开的实施例,第一随机模型模块例如还可以执行操作S710~操作S730,用于获得第一标签数值的N个种类,其中,N为大于或等于2的整数。基于N个种类确定第二概率,其中,包括:第二概率为1/N。基于第二概率确定第二随机模型,其中,正确概率包括第二概率。
根据本公开的实施例,随机模型模块1120例如还可以包括第二随机模型模块,第二随机模型模块例如可以执行操作S810~操作S830,用于基于第二训练集中每个用户数据对应的第二标签数值,确定每个随机模型的随机预测规则,其中,第二训练集用于训练待评估模型。基于每个随机预测规则获得对应的连续值集合。基于每个连续值集合确定每个随机模型。
根据本公开的实施例,随机模型模块1120例如还可以执行操作S910~操作S920,用于获得第二标签数值集合,其中,第二标签数值集合包括第二训练集中所有用户数据对应的第二标签数值,连续值集合包括第二标签数值集合。其中,当第一随机模型对测试集中每个用户数据进行预测时,从第二标签数值集合中随机抽取一个第二标签数值作为随机预测数值。
根据本公开的实施例,随机模型模块1120例如还可以执行操作S1010~操作S1030,用于获得第二标签数值中的最大值和最小值。基于最大值和最小值确定随机预测区间,其中,连续值集合包括随机预测区间。其中,当第二随机模型对测试集中每个用户数据进行预测时,从随机预测区间内随机获得一个数值作为随机预测数值。
第二获取模块1130例如可以执行操作S230,用于基于第一随机模型对测试集中用户数据的随机预测结果,获取第二指标,其中,第二指标用于表征第一随机模型的预测性能。
模型评估模块1140例如可以执行操作S240,用于基于第一指标与第二指标的差值对待评估模型进行评估。
根据本公开的实施例,模型评估装置1100还可以包括类型确定模块。类型确定模块例如可以执行操作S410~操作S420,用于获得待评估模型对测试集中用户数据进行预测而输出的预测数值的类型,其中,预测数值与预测结果具有对应关系。基于预测数值的类型确定待评估模型的类型,其中,预测数值的类型包括离散值类型、连续值类型中的至少一种。
下面结合图12,详细说明使用模型评估装置1100进行模型评估的详细流程。
图12示意性示出了根据本公开的实施例的使用模型评估装置1100进行模型评估的操作流程图。
如图12所示,使用模型评估装置1100进行模型评估可以包括操作S1210~操作S1270。
在操作S1210,可以通过模型评估装置1100获取到待评估模型类型、待评估模型训练集、待评估模型指标(即第一指标)和待评估模型测试集。
在操作S1220,判断待评估模型类型为离散值类型还是连续值类型。若为离散值类型,则执行操作S1240,若为连续值类型则执行操作S1230。
在操作S1230,例如可以执行操作S810~操作S830,确定第一随机模型和第二随机模型,在此不做赘述。
在操作S1240,例如可以执行操作S510~操作S520,确定第一随机模型和第二随机模型,在此不做赘述。
在操作S1250,可以利用第一随机模型和第二随机模型分别对测试集中用户数据进行随机预测。
根据本公开的实施例,可以先获得第二随机模型以对测试集中用户数据进行随机预测,在满足预设条件后,再获得第一随机模型以对测试集中用户数据进行预测。
在操作S1260,基于第一随机模型获得第二指标,基于第二随机模型获得第三指标。
在操作S1270,基于第一指标、第二指标和第三指标,通过比较随机模型和待评估模型之间的差距作为评价模型性能的有效性指标。有效性指标Availability计算公式如下:
其中,n
根据本公开的实施例,
根据本公开的实施例,同样以上述信贷业务风险管理模型为例,该模型能够判断测试集中用户数据是否具有业务风险,其输出0代表违约客户(负样本),1代表正常客户(正样本),即输出值为离散值。测试集中用户量为4000个,其中正样本3180个,负样本820个。例如该模型在测试集上预测后,正样本预测正确3120个,预测错误60个;负样本预测正确762个,预测错误58个,预测准确率为0.97(即第一指标)。
由上可知,待评估模型为二分类模型,预测数值为离散值类型,接下来计算有效性指标Availability:
首先,确定随机模型A。设定对每个用户判定为正样本或者负样本的概率皆为50%,具体可以参照操作S710~操作S730,在此不做赘述。
然后,例如随机模型A在测试集上预测正确的样本为2000个,那么其准确率即为0.5(即第三指标)。
接着,获得第一指标与第三指标的差值为0.47,其大于容忍系数0.1,那么可以确定第一随机模型以继续评估。
接着,确定随机模型B。例如训练集中正负样本的分布比例为:8比2,那么随机模型B判定一个用户为正样本的概率为80%,为负样本的概率为20%,具体可以参照操作操作S610~操作S630,在此不做赘述。
再次,随机模型B在测试集上预测正确的样本为2640个,那么其准确率为0.66(即第二指标)。
最后,获得第一指标与第二指标的差值为0.31。并作无量纲化处理,令0.31除以0.66,最终获得有效性指标约为0.47。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块1110、随机模型模块1120、第二获取模块1130和模型评估模块1140中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块1110、随机模型模块1120、第二获取模块1130和模型评估模块1140中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块1110、随机模型模块1120、第二获取模块1130和模型评估模块1140中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现模型评估方法和装置的计算机系统的方框图。图13示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,根据本公开实施例的计算机系统1300包括处理器1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1303中,存储有系统1300操作所需的各种程序和数据。处理器1301、ROM1302以及RAM 1303通过总线1304彼此相连。处理器1301通过执行ROM 1302和/或RAM 1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1302和RAM 1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统1300还可以包括输入/输出(I/O)接口1305,输入/输出(I/O)接口1305也连接至总线1304。系统1300还可以包括连接至I/O接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像识别方法。
在该计算机程序被处理器1301执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 模型评估方法、模型评估装置、电子设备和存储介质
- 模型评估方法、装置、电子设备和存储介质