掌桥专利:专业的专利平台
掌桥专利
首页

基于XGBoost模型的数据评估方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:26:00


基于XGBoost模型的数据评估方法、装置、设备及存储介质

技术领域

本申请涉及数据分析技术领域,尤其涉及一种基于XGBoost模型的数据评估方法、装置、设备及存储介质。

背景技术

目前交易领域常用的风险评估方法主要针对某一特定场景展开,具有较强的风险类型局限性,要使用多种不同方法才能实现对所有风险类型的覆盖,耗时耗力。针对交易数据评估的方法,主要采用了数据库、指标计算或存储过程编码计算等方式识别异常交易行为。但是上述方式需要进行大量的计算,导致对异常交易行为评估过于缓慢。

为了解决异常交易行为评估过于缓慢的情况,现有的方式是通过机器学习方法,直接对离线交易数据的进行统计分析,从而得到相应的离线分析结果。然而这种方法不能对在线交易数据进行及时分析,而且不能针对某些交易特征数据进行精准分析,最终导致其交易行为异常的评估结果准确度不高。现亟需一种能够提高数据分析和评估的准确度的方法。

发明内容

本申请实施例的目的在于提出一种基于XGBoost模型的数据评估方法、装置、设备及存储介质,以提高数据分析和评估的准确度。

从数据源中,获取样本数据;

对所述样本数据进行预处理,得到基础数据,并对所述基础数据按照预设时间段进行切片,得到时间序列数据;

采用XGBoost模型对所述时间序列数据进行特征提取,得到目标特征,并从所述时间序列数据中,获取所述目标特征对应的数据,得到目标数据;

使用所述目标数据对所述XGBoost模型进行迭代计算,并在所述XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型;

针对任一用户,获取所述用户在交易系统数据库中产生的在线流数据,并从所述在线流数据中获取所述目标特征对应的数据,得到待评估数据;

通过所述训练好的评估模型,对所述待评估数据进行评估处理,得到评估结果。

为了解决上述技术问题,本申请实施例提供一种基于XGBoost模型的数据评估装置,包括:

样本数据获取模块,用于从数据源中,获取样本数据;

时间序列数据模块,用于对所述样本数据进行预处理,得到基础数据,并对所述基础数据按照预设时间段进行切片,得到时间序列数据;

目标数据获取模块,用于采用XGBoost模型对所述时间序列数据进行特征提取,得到目标特征,并从所述时间序列数据中,获取所述目标特征对应的数据,得到目标数据;

评估模型训练模块,用于使用所述目标数据对所述XGBoost模型进行迭代计算,并在所述XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型;

待评估数据获取模块,由于针对任一用户,获取所述用户在交易系统数据库中产生的在线流数据,并从所述在线流数据中获取所述目标特征对应的数据,得到待评估数据;

评估结果输出模块,用于通过所述训练好的评估模型,对所述待评估数据进行评估处理,得到评估结果。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于XGBoost模型的数据评估方法。

为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于XGBoost模型的数据评估方法。

本发明实施例提供了一种基于XGBoost模型的数据评估方法、装置、设备及存储介质。本发明实施例通过获取样本数据,并对样本数据进行预处理,得到基础数据,然后对基础数据按照预设时间段进行切片,得到时间序列数据,再采用XGBoost模型对时间序列数据特征提取,得到目标特征,并从时间序列数据中,获取目标特征对应的数据,得到目标数据,实现获取到以交易数据关系密切的特征,便于后续对模型的训练;然后使用目标数据对XGBoost模型进行模型进行迭代计算,并在XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型;最终根据训练好的评估模型输出任一用户的评估结果,实现了对数据进行精准分析,有利于提高数据分析和评估的准确度。

附图说明

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

图1是本申请实施例提供的基于XGBoost模型的数据评估方法的应用环境示意图;

图2根据本申请实施例提供的基于XGBoost模型的数据评估方法的一实现流程图;

图3是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的一实现流程图;

图4是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的又一实现流程图;

图5是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的又一实现流程图;

图6是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的又一实现流程图;

图7是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的又一实现流程图;

图8是本申请实施例提供的基于XGBoost模型的数据评估方法中子流程的又一实现流程图;

图9是本申请实施例提供的基于XGBoost模型的数据评估装置示意图;

图10是本申请实施例提供的计算机设备的示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

下面结合附图和实施方式对本发明进行详细说明。

请参阅图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可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的基于XGBoost模型的数据评估方法一般由服务器执行,相应地,基于XGBoost模型的数据评估装置一般配置于服务器中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

请参阅图2,图2示出了基于XGBoost模型的数据评估方法的一种具体实施方式。

需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限,该方法包括如下步骤:

S1:从数据源中,获取样本数据。

具体的,数据源是指存储用户以往交易行为数据的数据库,该数据库包括但不限于关系型数据库、数据仓库等等。样本数据是指存在数据源中,用户以往的交易行为数据。

S2:对样本数据进行预处理,得到基础数据,并对基础数据按照预设时间段进行切片,得到时间序列数据。

具体的,预处理包括对样本数据进行数据清洗等,其中,数据清洗(Datacleaning)是指对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。在本申请实施例中,对样本数据进行数据清洗,删除样本数据中的重复信息、纠正存在的错误数据,保证数据的一致性,从而获取到基础数据。将基础数据按预设时间段进行切片,得到不同时间段的数据,也即得到时间序列数据。其中,时间序列数据是指通过对基础数据按照时间段进行切分,从而形成的以时间为序列的数据。

需要说明的是,预设时间段根据实际情况进行设定,此处不做限定。在一具体实施例中,预设时间段为1小时。

S3:采用XGBoost模型对时间序列数据特征提取,得到目标特征,并从时间序列数据中,获取目标特征对应的数据,得到目标数据。

具体的,XGBoost模型是一种集成树模型算法,通过集成众多颗树来实现特征的提取任务。在每一颗树的节点分离时,根据结构分数的增益情况,来计算出来选择哪一个特征作为分割点。不同的特征被集成树分割的次数不同,每一个特征被分割的次数取加权平均作为其得分,最终XGBoost模型会输出每一个特征的得分情况。其中特征的得分情况可能为正整数、负整数或者为零。得分为零的特征,即没有被XGBoost模型的集成树分割过的特征,该特征可以确认为不相关的特征,可以将该特征删除,将保留下来的特征再根据逐步回归算法进行筛选,得到时间序列数据中的目标特征。进一步的,为了将对后续对XGBoost模型进行训练,需要获取到目标特征在时间序列数据中对应的数据,从而得到目标数据。

其中,目标特征为对时间序列数据进行特征提取,得到的特征。目标特征是与交易异常行为密切相关的特征。

S4:使用目标数据对XGBoost模型进行迭代计算,并在XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型。

具体的,服务端将目标数据按照预设分割比例随机分为训练样本和验证样本,该预设分割比例根据实际情况进行设定,此处不做限定。在一具体的实施例中,预设分割比例是2:1。使用训练样本进行模型训练,验证样本进行模型验证。

具体的,XGBoost模型是一种开源的通用模型,服务端将训练样本输入到该XGBoost模型中,XGBoost模型调用XGBoost库进行模型训练,并在模型训练过程中使用Python的Hyperopt库的自动调参框架对基XGBoost模型的模型参数进行自动搜索,在限定时间内输出搜索过程中的最佳参数,实现模型自动调参。其中,模型参数包括数的层次、步长和迭代次数等。

具体的,服务端使用验证样本对训练后的XGBoost模型进行验证,并根据验证结果计算模型评估指标AUC(area under the curve),若AUC的值达到预设阈值,则确认该训练后的XGBoost模型即为训练好的评估模型,若AUC的值未大于预设阈值,则服务端按照预设分割比例重新随机分割训练样本和验证样本,并继续采用本步骤对训练后的XGBoost模型进行训练和验证,直到ACU的值大于预设阈值为止。需要说明的是,预设阈值根据实际情况进行设定,此处不做限定。在一具体的实施例中,预设阈值为0.95。

S5:针对任一用户,获取用户在交易系统数据库中产生的在线流数据,并从在线流数据中获取目标特征对应的数据,得到待评估数据。

由于,上述步骤已经得到了训练好的评估模型,当需要对某一用户交易行为进行评估,则需要获取到该用户在交易系统数据库中产生的在线流数据,再根据上述获取的目标特征进行数据的筛选,从而得到待评估数据。

其中,流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,流数据可被视为一个随时间延续而无限增长的动态数据集合。在申请实施例中,在线流数据是指任一用户在交易系统数据库中产生对交易行为数据。

S6:通过训练好的评估模型,对待评估数据进行评估处理,得到评估结果。

具体的,将待评估数据输入到训练好的评估模型中,通过训练好的评估模型中对其进行评估处理,得到该用户的评估结果。例如,该评估结果是该用户交易行为存在较高风险等等不同结果。其中,评估处理是指通过训练好的评估模型对输入的待评估数据进行交易行为的分析和评估。

本实施例中,通过获取样本数据,并对样本数据进行预处理,得到基础数据,然后对基础数据按照预设时间段进行切片,得到时间序列数据,再采用XGBoost模型对时间序列数据特征提取,得到目标特征,并从时间序列数据中,获取目标特征对应的数据,得到目标数据,实现获取到以交易数据关系密切的特征,便于后续对模型的训练;然后使用目标数据对XGBoost模型进行模型进行迭代计算,并在XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型;最终根据训练好的评估模型输出任一用户的评估结果,实现了对数据进行精准分析,有利于提高数据分析和评估的准确度。

请参阅图3,图3示出了步骤S3的一种具体实施方式,步骤S3中采用XGBoost模型对时间序列数据进行特征提取,得到目标特征,并从时间序列数据中,获取目标特征对应的数据,得到目标数据的具体实现过程,详叙如下:

S31:通过XGBoost模型对时间序列数据进行特征提取,得到M个基础特征,其中,M为正整数。

具体的,在进行特征提取过程中,通过嵌套交叉验证的方式,对XGBoost模型进行验证,使得通过XGBoost模型对特征选取、分割不带偏见性。

其中,嵌套交叉验证是一个验证XGBoost模型稳定性和确保无偏性的方法。可以理解为XGBoost模型的验证工具,确保XGBoost模型对训练集、测试集和验证集的选取不带偏见性。基础特征是指过XGBoost模型对时间序列数据进行集成树计算分析后,提取得到的特征。

S32:根据逐步回归算法,将M个基础特征添加到XGBoost模型中进行迭代计算,得到迭代计算结果,其中,迭代计算结果中包含基础特征对应的贡献分值。

具体的,通过逐步回归算法,将基础特征添加到XGBoost模型中进行迭代计算,每循环一次得出一个特征值,不断添加基础特征和经过嵌套交叉验证,直到特征值不再上升(或者开始下降)时,被选择进行迭代计算的基础特征将会保留下来。通过判断每循环一次得出一个特征值是上升了还是下降了,来获取该基础特征是对XGBoost模型贡献分值。

其中,贡献分值为基础特征添加到XGBoost模型中进行计算,得到的分数。贡献分值分为正贡献、负贡献。即正贡献为通过逐步回归算法,将基础特征添加到XGBoost模型进行迭代计算后,得出的曲线特征值上升了,代表着该基础特征为能够为疾病分类提供积极效果的特征;反之,负贡献为通过逐步回归算法,将基础特征添加到XGBoost模型进行迭代计算后,得出的特征值下降了,代表着该基础特征为能够为疾病分类提供负面效果的特征。

其中,逐步回归的基本思想是将基础特征逐个引入XGBoost模型,每引入一个基础特征后都要进行F检验,并对已经选入的基础特征逐个进行t检验,当原来引入的基础特征由于后面基础特征的引入变得不再显著时,则将其删除。以确保每次引入新的基础特征之前XGBoost模型中只包含显著性的基础特征。这是一个反复的过程,直到既没有显著的基础特征选入XGBoost模型,也没有不显著的基础特征从XGBoost模型中剔除为止。以保证最后所得到的基础特征是最优的。

其中,F检验(F-test),最常用的别名叫做联合假设检验(英语:joint hypothesestest),此外也称方差比率检验、方差齐性检验。它是一种在零假设(null hypothesis,H0)之下,统计值服从F-分布的检验。其通常是用来分析用了超过一个参数的统计模型,以判断该模型中的全部或一部分参数是否适合用来估计母体。t检验,亦称Student t检验(Student's t test),主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布。t检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。在本申请实施例中,F检验和t检验是在将基础特征逐个引入XGBoost模型过程中,对基础特征进行检验。

S33:从迭代计算结果中,将贡献分值按照从大到小的顺序排列,选取排名前N个贡献分值,并将前N个贡献分值所对应的基础特征作为N个目标特征,其中,N

具体的,由于本申请是针对交易行为进行评估,进而得到评估结果,故而需要筛选对该交易行为产生较大影响的特征。所以将贡献分值按照从大到小的顺序排列,选取排名前N个贡献分值,并将前N个贡献分值所对应的基础特征作为N个目标特征。

S34:从时间序列数据中,获取目标特征对应的数据,得到目标数据。

具体的,由于后续需要对XGBoost模型进行训练,则从时间序列数据中获取目标特征对应的数据,得到目标数据。

在本实施中,通过XGBoost模型对时间序列数据进行特征提取,得到M个基础特征,根据逐步回归算法,将M个基础特征添加到XGBoost模型中进行迭代计算,得到迭代计算结果,从迭代计算结果中,将贡献分值按照从大到小的顺序排列,选取排名前N个贡献分值,并将前N个贡献分值所对应的基础特征作为N个目标特征,从时间序列数据中,获取目标特征对应的数据,得到目标数据,实现获取与交易异常行为密切的目标特征和目标数据,从而有利于对数据进行精准分析,有利于提高数据分析和评估的准确度。

请参阅图4,图4示出了步骤S31的一种具体实施方式,步骤S31中通过XGBoost模型对时间序列数据进行特征提取,得到M个基础特征,其中,M为正整数的具体实现过程,详叙如下:

S311:基于XGBoost模型,对时间序列数据进行集成树计算分析,得到K个分析特征,其中,分析特征经过计算分析后具有分割得分,K为正整数,K>M。

具体的,通过对时间序列数据的集成树计算分析,获取分析特征,确认每个分析特征的分割得分。

其中,分割得分是根据集成树计算分析,也即根据集成树对一个特征进行分割的次数,并取加权平均作为其分割得分。若是没有别集成树分割,则该特征分割得分为零。

S312:删除分割得分为零的分析特征,将保留下来的分析特征作为基础特征,得到M个基础特征。

具体的,由于分割得分为零的分析特征,对交易行为异常分析并无作用,为无用的分析特征,故将其删除,避免基础特征过多,导致后续计算量过大。

本实施例中,基于XGBoost模型,对时间序列数据进行集成树计算分析,得到K个分析特征,并删除分割得分为零的分析特征,将保留下来的分析特征作为基础特征,实现对基础特征进行筛选和提取,便于后续获取目标特征。

请参阅图5,图5示出了步骤S32的一种具体实施方式,步骤S32中根据逐步回归算法,将M个基础特征添加到XGBoost模型中进行迭代计算,得到迭代计算结果,其中,迭代计算结果中包含基础特征对应的贡献分值的具体实现过程,详叙如下:

S321:根据逐步回归算法,将M个基础特征逐步添加到XGBoost模型中进行迭代计算,其中,每次迭代计算都得到一个特征值。

具体的,特征值可以用Area Under Curve(AUC)表示。

其中,Area Under Curve(AUC)被定义为ROC曲线下与坐标轴围成的面积,且这个面积的数值不会大于1。由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高。在本申请实施例中,通过每循环一次得出一个曲线AUC值是上升了还是下降了,判断基础特征对交易行为的影响,且当AUC不再变化时(或者刚下降时),结束迭代计算。

S322:当检测到特征值不再上升时,统计基础特征对XGBoost模型计算后得到的贡献分值,得到迭代计算结果。

具体的,当特征值不在上升时,说明再添加基础特征对XGBoost模型计算已经没有作用,故而当检测到特征值不再上升时,统计基础特征对XGBoost模型计算后得到的贡献分值,从而得到迭代计算结果,

本实施例中,根据逐步回归算法,将M个基础特征逐步添加到XGBoost模型中进行迭代计算,当检测到特征值不再上升时,统计基础特征对XGBoost模型计算后得到的贡献分值,得到迭代计算结果,实现获取基础特征对应的贡献分值,便于后续获取目标特征,从而对XGBoost模型进行训练。

请参阅图6,图6示出了步骤S4的一种具体实施方式,步骤S4中使用目标数据对XGBoost模型进行迭代计算,并在XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型的具体实现过程,详叙如下:

S41:将目标数据按照预设分割比例进行分割,得到训练样本和验证样本。

具体的,将目标数据分割成训练样本和验证样本,训练样本是用来对XGBoost模型进行迭代计算的,也即是用来对XGBoost模型进行训练的,而验证样本是用来对训练后的XGBoost模型进行验证的。

需要说明的是,预设分割比例根据实际情况进行设定,此处不做限定。在一具体的实施例中,预设分割比例是2:1。

S42:通过训练样本对XGBoost模型进行迭代计算,并使用Hyperopt库进行模型调参,得到训练后的XGBoost模型。

具体的,通过训练样本对XGBoost模型进行迭代计算,并在迭代计算过程中,使用Hyperopt库进行模型调参,使得模型参数可以进行自动搜索,在限定时间内输出搜索过程中的最佳参数,从而得到训练后的XGBoost模型。

其中,Hyperopt库是一个Python库,结合MongoDB可以进行分布式调参,可以实现快速找到相对较优的参数。

S43:通过验证样本对训练后的XGBoost模型进行验证,得到验证结果。

具体的,服务端使用验证对训练后的XGBoost模型进行验证,得到验证结果,该验证结果通过模型评估指标AUC(Area Under Curve)进行表示。

S44:当验证结果大于预设阈值时,停止对XGBoost模型进行迭代计算,得到训练好的评估模型。

具体的,若是当验证结果大于预设阈值时,也即若AUC的值大于预设阈值,则确认该训练后的XGBoost模型即为训练好的评估模型,若AUC的值未大于预设阈值,则服务端按照预设分割比例重新随机分割训练样本和验证样本,并继续采用对训练后的XGBoost模型进行训练和验证,直到ACU的值大于预设阈值为止。

需要说明的是,预设阈值根据实际情况进行设定,此处不做限定。在一具体的实施例中,预设阈值为0.95。

本实施例中,通过将目标数据按照预设分割比例进行分割,得到训练样本和验证样本,通过训练样本对XGBoost模型进行迭代计算,并使用Hyperopt库进行模型调参,得到训练后的XGBoost模型,通过验证样本对训练后的XGBoost模型进行验证,得到验证结果,当验证结果大于预设阈值时,停止对XGBoost模型进行迭代计算,得到训练好的评估模型,实现对评估模型的训练,从而实现了对数据进行精准分析,有利于提高数据分析和评估的准确度。

请参阅图7,图7示出了步骤S5的一种具体实施方式,步骤S5中针对任一用户,获取用户在交易系统数据库中产生的在线流数据,并从在线流数据中获取目标特征对应的数据,得到待评估数据的具体实现过程,详叙如下:

S51:接收监测指令。

具体的,服务器通过接收监测指令,可以通过该监测指令监测和获取用户在交易系统数据库中产生的在线流数据。

S52:针对任一用户,根据监测指令,获取用户在交易系统数据库中产生的在线流数据。

具体的,在需要对某一用户的交易行为进行评估时,服务器则通过监测指令,获取该用户在交易系统数据库中产生的在线流数据,便于后续对其产生对在线流数据进行分析。

S53:将在线流数据按照预设时间段进行切片,得到目标时间序列数据。

具体的,将用户的在线流数据按照预设时间段进行切片,能够获取得到在线流数据对应的目标时间序列数据,从而后续便于将目标时间序列数据输入到训练好的评估模型中。

需要说明的是,预设时间段根据实际情况进行设定,此处不做限定。在一具体实施例中,预设时间段为1小时。

S54:从目标时间序列数据中,获取目标特征对应的数据,得到待评估数据。

具体的,由于上述步骤已经获取到了目标特征,则为了能够对用户的交易行为作为准确的评估,则从目标时间序列数据中获取目标特征对应的数据,得到待评估数据。

本实施例中,通过接收监测指令,针对任一用户,根据监测指令,获取用户在交易系统数据库中产生的在线流数据,将在线流数据按照预设时间段进行切片,得到目标时间序列数据,从目标时间序列数据中,获取目标特征对应的数据,得到待评估数据,实现针对任一用户,获取其在线流数据,并对该数据进行处理,便于后续输出该用户交易行为的评估结果。

请参阅图8,图8示出了步骤S2的一种具体实施方式,步骤S2中对样本数据进行预处理,得到基础数据,并对基础数据按照预设时间段进行切片,得到时间序列数据的具体实现过程,详叙如下:

S21:对样本数据进行数据清洗,得到基础数据。

具体的,对样本数据进行数据清洗,删除样本数据中的重复信息、纠正存在的错误数据,保证数据的一致性,从而获取到基础数据。

S22:通过预设的计算方式,对基础数据进行计算处理,得到结果数据。

具体的,预设的计算方式是指按照不同的类型,对基础数据中的数据进行计算,例如不同的类型有按照交易时间或者交易时间等。计算处理是指通过预设的计算方式,对基础数据中存在的交易金融数据和交易数量等信息,进行计算交易数额。结果数据是指将该计算得到的交易数额和原来基础数据中的数据进行结合而得来的数据。

S23:按照预设时间段,对结果数据进行切片,得到时间序列数据。

具体的,将结果数据按照预设时间段的方式,进行切片,得到时间序列数据,便于后续通过XGBoost模型对其进行特征提取。

本实施例中,通过对样本数据进行数据清洗,得到基础数据,再通过预设的计算方式,对基础数据进行计算处理,得到结果数据,并按照预设时间段,对结果数据进行切片,得到时间序列数据,实现对样本数据的处理,便于将其输入到XGBoost模型中,进行特征提取。

需要强调的是,为进一步保证上述待评估数据的私密和安全性,上述待评估数据还可以存储于一区块链的节点中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

请参考图9,作为对上述图2所示方法的实现,本申请提供了一种基于XGBoost模型的数据评估装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图9所示,本实施例的基于XGBoost模型的数据评估装置包括:样本数据获取模块71、时间序列数据模块72、目标数据获取模块73、评估模型训练模块74、待评估数据获取模块75及评估结果输出模块76,其中:

样本数据获取模块71,用于从数据源中,获取样本数据;

时间序列数据模块72,用于对样本数据进行预处理,得到基础数据,并对基础数据按照预设时间段进行切片,得到时间序列数据;

目标数据获取模块73,用于采用XGBoost模型对时间序列数据特征提取,得到目标特征,并从时间序列数据中,获取目标特征对应的数据,得到目标数据;

评估模型训练模块74,用于使用目标数据对XGBoost模型进行迭代计算,并在XGBoost模型中使用Hyperopt库进行模型调参,得到训练好的评估模型;

待评估数据获取模块75,由于针对任一用户,获取用户在交易系统数据库中产生的在线流数据,并从在线流数据中获取目标特征对应的数据,得到待评估数据;

评估结果输出模块76,用于通过训练好的评估模型,对待评估数据进行评估处理,得到评估结果。

进一步的,目标数据获取模块73包括:

基础特征获取单元,用于通过XGBoost模型对时间序列数据进行特征提取,得到M个基础特征,其中,M为正整数;

迭代计算结果生成单元,用于根据逐步回归算法,将M个基础特征添加到XGBoost模型中进行迭代计算,得到迭代计算结果,其中,迭代计算结果中包含基础特征对应的贡献分值;

贡献分值选取单元,用于从迭代计算结果中,将贡献分值按照从小到大的顺序排列,选取排名前N个贡献分值,并将前N个贡献分值所对应的基础特征作为N个目标特征,其中,N

对应的数据获取单元,用于从时间序列数据中,获取目标特征对应的数据,得到目标数据。

进一步的,基础特征获取单元包括:

分析特征获取子单元,用于基于XGBoost模型,对时间序列数据进行集成树计算分析,得到K个分析特征,其中,分析特征经过计算分析后具有分割得分,K为正整数,K>M;

分析特征删除子单元,用于删除分割得分为零的分析特征,将保留下来的分析特征作为基础特征,得到M个基础特征。

进一步的,迭代计算结果生成单元包括:

迭代计算子单元,用于根据逐步回归算法,将M个基础特征逐步添加到XGBoost模型中进行迭代计算,其中,每次迭代计算都得到一个特征值;

贡献分值统计子单元,用于当检测到特征值不再上升时,统计基础特征对XGBoost模型计算后得到的贡献分值,得到迭代计算结果。

进一步的,评估模型训练模块74包括:

目标数据分割单元,用于将目标数据按照预设分割比例进行分割,得到训练样本和验证样本;

模型计算单元,用于通过训练样本对XGBoost模型进行迭代计算,并使用Hyperopt库进行模型调参,得到训练后的XGBoost模型;

验证结果获取单元,用于通过验证样本对训练后的XGBoost模型进行验证,得到验证结果;

评估模型生成单元,用于当验证结果大于预设阈值时,停止对XGBoost模型进行迭代计算,得到训练好的评估模型。

进一步的,待评估数据获取模块75包括:

监测指令接收单元,用于接收监测指令;

流数据获取单元,用于针对任一用户,根据监测指令,获取用户在交易系统数据库中产生的在线流数据;

流数据切片单元,用于将在线流数据按照预设时间段进行切片,得到目标时间序列数据;

待评估数据生成单元,用于从目标时间序列数据中,获取目标特征对应的数据,得到待评估数据。

进一步的,时间序列数据模块72包括:

数据清洗单元,用于对样本数据进行数据清洗,得到基础数据;

结果数据获取单元,用于通过预设的计算方式,对基础数据进行计算处理,得到结果数据;

结果数据处理单元,用于按照预设时间段,对结果数据进行切片,得到时间序列数据。

需要强调的是,为进一步保证上述待评估数据的私密和安全性,上述待评估数据还可以存储于一区块链的节点中。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图10,图10为本实施例计算机设备基本结构框图。

计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有三种组件存储器81、处理器82、网络接口83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

存储器81至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器81可以是计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器81也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器81还可以既包括计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,存储器81通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如基于XGBoost模型的数据评估方法的程序代码等。此外,存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器82在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制计算机设备8的总体操作。本实施例中,处理器82用于运行存储器81中存储的程序代码或者处理数据,例如运行上述基于XGBoost模型的数据评估方法的程序代码,以实现基于XGBoost模型的数据评估方法的各种实施例。

网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在计算机设备8与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于XGBoost模型的数据评估方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 基于XGBoost模型的数据评估方法、装置、设备及存储介质
  • 基于ARMA模型的资产评估方法、装置、设备及存储介质
技术分类

06120112922252