小样本使用方法、装置、计算机设备和存储介质与流程

文档序号:16855547发布日期:2019-02-12 23:14阅读:163来源:国知局
小样本使用方法、装置、计算机设备和存储介质与流程
本发明涉及大数据领域,特别涉及一种小样本使用方法、装置、计算机设备和存储介质。
背景技术
:在现有的技术中,利用机器学习平台进行数据建模时,涉及到集群资源分配不足、小样本数据集分发时间链路长、高级模型开发周期长等缺点,由于小样本建模时间长,调试不便的问题,在现有的建模中,较少使用小样本。技术实现要素:针对现有技术不足,本发明提出一种小样本使用方法、装置、计算机设备和存储介质,通过对数据特征进行woe、iv计算,生成建模数据,根据建模数据和预设配置表中的模型信息,生成模型报表,旨在解决现有的建模中,较少使用小样本问题。本发明提出的技术方案是:一种小样本使用方法,所述方法包括:获取原始文件中的数据特征;依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据;根据预设配置表中的多个模型信息以及所述建模数据,建立所述多个模型信息分别对应的模型;获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表。进一步地,在所述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,所述方法包括:根据所述多个模型的数据表现,分别对每个模型进行迭代和参数优化。进一步地,在所述获取原始文件中的数据特征的步骤中,包括:将hadoop集群上的hdfs数据文件转换成csv文件;读取所述csv文件中的所述数据特征。进一步地,在所述读取所述csv文件中的所述数据特征的步骤中,包括:配置单机程序对所述csv文件运算所需要的参数文件,所述参数文件包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法;将所述csv文件输入所述单机程序运算;读取所述csv文件中的所述数据特征。进一步地,在所述依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据的步骤中,包括:对每一个数据特征进行iv计算,得到各数据特征的iv值;按照数值大小对各数据特征的iv值进行排序,根据所述排序的顺序筛选出第一数量的目标iv值,并获取所述目标iv值对应的目标数据特征;对所述目标数据特征进行woe计算,得到所述目标数据特征的woe映射关系表;根据所述目标数据特征的woe映射关系,将所述目标数据特征转换为建模数据。进一步地,所述预设配置表中的多个模型信息包括xgboost模型信息、gbdt模型信息、lightgbm模型信息、catboost模型信息和tensorflow模型信息。进一步地,在所述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,所述方法包括:根据所述多个模块的数据表现,对所述多个模块报表进行分类;将属于同一类别的所述模块报表存储在同一文件夹中。本发明还提供一种小样本使用装置,所述装置包括:获取模块,用于获取原始文件中的数据特征;处理模块,用于依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据;模型建立模块,用于根据预设配置表中的多个模型信息以及所述建模数据,建立所述多个模型信息分别对应的模型;模型报表生成模块,用于获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表。本发明还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。根据上述的技术方案,本发明有益效果:通过对数据特征进行woe、iv计算,生成建模数据,根据建模数据和预设配置表中的模型信息,生成模型报表,旨在解决现有的建模中,较少使用小样本问题。附图说明图1是应用本发明实施例提供的小样本使用方法的流程图;图2是应用本发明实施例提供的小样本使用装置的功能模块图;图3是应用本申请实施例提供的计算机设备的结构示意框图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明实施例提出小样本使用方法,所述方法包括以下步骤:步骤s101、获取原始文件中的数据特征。获取原始文件中数据特征包括获取原始文件中能够直接建模数据和不能够直接建模数据。在本实施例中,获取原始文件中不能够直接建模数据主要是获取原始文件中的原始的脏数据,包括缺失值、类别变量和日期变量等。在本实施例中,在步骤s101中,包括:将hadoop集群上的hdfs数据文件转换成csv文件;读取csv文件中的数据特征。在所述读取csv文件中的数据特征的步骤中,包括:配置单机程序对csv文件运算所需要的参数文件,参数文件包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法;将csv文件输入单机程序运算;读取csv文件中的数据特征。具体地,获取原始文件中的原始的脏数据,包括缺失值、类别变量和日期变量等,具体地,将hadoop集群上的hdfs数据文件转换成csv文件,用于线下单机程序运算的输入,然后配置程序运行所需要的参数文件,包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法,读取csv文件中的数据特征。步骤s102、依次对数据特征进行iv和woe计算,生成对特征数据进行预处理清洗后的建模数据。从原始文件中获取数据特征,在得到数据特征之后,对数据特征进行计算,主要是进行woe、iv计算,依次进行iv和woe计算,计算后得到的数据生成对特征数据进行预处理清洗后的建模数据。在步骤s102中,包括:对每一个数据特征进行iv计算,得到各数据特征的iv值;按照数值大小对各数据特征的iv值进行排序,根据排序的顺序筛选出第一数量的目标iv值,并获取目标iv值对应的目标数据特征;对目标数据特征进行woe计算,得到目标数据特征的woe映射关系表;根据目标数据特征的woe映射关系,将目标数据特征转换为建模数据。对每一个数据特征进行iv计算,在完成每一个数据特征iv计算之后,得到各数据特征的iv值,iv计算的具体的计算公式为:根据iv计算的具体的计算公式可以获得各数据特征的iv值,iv可以理解为选定特征与目标特征的一个函数关系iv=f(x1,y),取值范围为大于0,数值越大,说明特征对目标变量的影响程度越大。按照数值大小对各数据特征的iv值进行排序,在本实施例中,由大到小依次排序,根据排序的顺序筛选出第一数量的目标iv值,并获取目标iv值对应的目标数据特征,在获取目标数据特征之后,对目标数据特征进行woe计算,在完成对目标数据特征woe计算之后,得到目标数据特征的woe映射关系,woe计算的具体的计算公式为:根据目标数据特征的woe映射关系,将目标数据特征转换,转换目的是将原始数据转变为可以直接进行建模的数据,在完成转换之后,生成建模数据。对每一个数据特征进行woe、iv计算,得到数据特征的iv值和woe映射关系表,iv是英文informationvalue的缩写,中文意思是信息价值,或者信息量。在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等。但是,其中最主要和最直接的衡量标准是变量的预测能力。“变量的预测能力”这个说法很笼统,很主观,非量化,可以通过一些具体的量化指标来衡量每自变量的预测能力,并根据这些量化指标的大小,来确定哪些变量进入模型。iv就是这样一种指标,iv可以用来衡量自变量的预测能力。类似的指标还有信息增益、基尼系数等等。woe的全称是“weightofevidence”,即证据权重。woe是对原始自变量的一种编码形式。要对一个变量进行woe编码,需要首先把这个变量进行分组处理(也叫离散化、分箱等等,说的都是一个意思)。分组后,对于第i组,woe的计算公式如下:iv的技术公式如下:其中,pyi是这个组中响应客户(风险模型中,对应的是违约客户,总之,指的是模型中预测变量取值为“是”或者说1的个体)占所有样本中所有响应客户的比例,pni是这个组中未响应客户占样本中所有未响应客户的比例,#yi是这个组中响应客户的数量,#ni是这个组中未响应客户的数量,#yt是样本中所有响应客户的数量,#nt是样本中所有未响应客户的数量。根据上述公式可知,woe表示的实际上是“当前分组中响应客户占所有响应客户的比例”和“当前分组中没有响应的客户占所有没有响应的客户的比例”的差异。对这个公式做一个简单变换,可以得到:变换以后我们可以看出,woe也可以这么理解,他表示的是当前这个组中响应的客户和未响应客户的比值,和所有样本中这个比值的差异。这个差异是用这两个比值的比值,再取对数来表示的。woe越大,这种差异越大,这个分组里的样本响应的可能性就越大,woe越小,差异越小,这个分组里的样本响应的可能性就越小。根据产生的woe映射关系表对原始文件中的数据进行转换,完成数据的预处理清洗过程,使原始文件中的数据转变成可以直接用于进行建模的数据,提高建模的精确度。步骤s103、根据预设配置表中的多个模型信息以及建模数据,建立多个模型信息分别对应的模型。步骤s104、获取多个模型的数据表现,生成多个模型分别对应的模型报表。根据预设配置表中的多个模型信息和建模数据,每一个模型信息和建模数据,可以建立该模型信息对应的模型,从而建立多个模型信息分别对应的模型。获取多个模型的数据表现,根据多个模型的数据表现生成多个模型分别对应的模型报表。在本实施例中,预设配置表中的模型信息包括xgboost模型信息、gbdt模型信息、lightgbm模型信息、catboost模型信息和tensorflow模型信息。通过选择预设配置表中的模型信息,包括:xgboost模型信息,gbdt模型信息,lightgbm模型信息,catboost模型信息,tensorflow模型信息等进行建模,输出各个模型的具体表现,以生成模型报表。具体地,以构建一个为了预测公司的客户集合中的每个客户对于我们的某项营销活动是否能够响应的预测模型为例,先从公司客户列表中随机抽取了100000个客户进行了营销活动测试,收集了这些客户的响应结果,作为我们的建模数据集,其中响应的客户有10000个。提取这些客户的一些变量,作为我们模型的候选变量集,这些变量包括以下这些:1、最近一个月是否有购买;2、最近一次购买金额;3、最近一笔购买的商品类别;4、是否是公司vip客户;先对这些变量进行了离散化,统计的结果如下面几张表所示。(1)最近一个月是否有过购买:最近一个月是否有过购买响应未响应合计响应比例是4000160002000020%否600074000800007.5%合计100009000010000010%(2)最近一次购买金额:最近一次购买金额响应未响应合计响应比例<100元250047500500005%[100,200)3000270003000010%[200,500)3000120001500020%>=500元15003500500030%合计100009000010000010%(3)最近一笔购买的商品类别:最近一笔购买的商品类别响应未响应合计响应比例3c300057000600005%化妆品2000180002000010%母婴5000150002000025%合计100009000010000010%(4)是否是公司vip客户:是否是公司vip客户响应未响应合计响应比例是550045001000055%否450085000900005%合计100009000010000010%以“最近一次购买金额”变量为例:最近一次购买金额响应未响应合计响应比例<100元250047500500005%[100,200)3000270003000010%[200,500)3000120001500020%>=500元15003500500030%合计100009000010000010%woe的计算公式为:将这个变量离散化为了4个分段:<100元,[100,200),[200,500),>=500元。首先,根据woe计算公式,这四个分段的woe分别为:最近一次购买金额响应未响应合计响应比例woe<100元250047500500005%-0.74721[100,200)3000270003000010%0[200,500)3000120001500020%0.81093>=500元15003500500030%1.349927合计100009000010000010%0从上面的计算结果中我们可以看一下woe的基本特点:第一、当前分组中,响应的比例越大,woe值越大;第二、当前分组woe的正负,由当前分组响应和未响应的比例,与样本整体响应和未响应的比例的大小关系决定,当前分组的比例小于样本整体比例时,woe为负,当前分组的比例大于整体比例时,woe为正,当前分组的比例和整体比例相等时,woe为0。第三、woe的取值范围是全体实数。woe描述了变量当前这个分组,对判断个体是否会响应所起到影响方向和大小,当woe为正时,变量当前取值对判断个体是否会响应起到的正向的影响,当woe为负时,起到了负向影响。而woe值的大小,则是这个影响的大小的体现。然后分别计算四个分组的iv值:根据上述iv的计算结果我们可以看出iv的以下特点:第一、对于变量的一个分组,这个分组的响应和未响应的比例与样本整体响应和未响应的比例相差越大,iv值越大,否则,iv值越小;第二、极端情况下,当前分组的响应和未响应的比例和样本整体的响应和未响应的比例相等时,iv值为0;第三、iv值的取值范围是[0,+∞),且,当当前分组中只包含响应客户或者未响应客户时,iv=+∞。计算变量总iv值:iv=iv1+iv2+iv3+iv4=0.492706根据上述原理计算了另外三个变量,得到四个变量的iv结果如下。(1)、最近一次购买金额:0.49270645;(2)、最近一个月是否有过购买:0.250224725;(3)、最近一笔购买的商品类别:0.615275563;(4)、是否是公司vip客户:1.56550367。这四个变量iv排序结果是这样的:是否是公司vip客户>最近一笔购买的商品类别>最近一次购买金额>最近一个月是否有过购买。可知“是否是公司vip客户”是预测能力最高的变量,而“最近一个月是否有过购买”是预测能力最低的变量。即可根据iv从高到低这四个变量中挑选变量,清洗不必要或者代表性不高的数据,从而提高建模的普适性和准确度,在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。在步骤s104之后,所述方法包括:根据多个模型的数据表现,分别对每个模型进行迭代和参数优化。模型报表上包含模型的数据表现,根据多个模型的数据表现,分别对每个模型进行迭代和参数优化。通过根据模型报表上的数据表现来进行模型迭代和参数优化,具体地,数据表现包括参数高原和参数孤岛,参数高原是指存在着一个较宽的参数范围,模型在这个参数范围内都能取得较好的效果,一般会以高原的中心形成近似正态分布状;而参数孤岛是指只有在参数值处于某个很小的范围内时,模型才有较好表现,而当参数偏离该值时,模型的表现便会显著变差,所以参数优化中一个重要的原则就是要争取参数高原而不是参数孤岛。根据上述参数高原和参数孤岛原理,当模型中存在多个参数数组时,往往一个参数数组的取值会影响到另外一个参数高原的分布。具体地,参数优化的方法可以采用逐步收敛法,即先单独对一个参数进行优化,取得其最佳值后固定下来,然后再对另外一个参数进行优化,取得其最佳值后固定下来,如此循环,直到优化结果不再变动。以一个均线交叉买卖交易模型为例,两个独立参数分别是均线短周期n1和长周期n2。首先固定n2为1,对n1在1到100的数值范围内进行测试筛选,寻找最佳数值,最终得到最佳参数为8并固定;其次对n2在1到200之间进行优化,得到最佳值26并固定;再次对n1进行第二轮优化,得到新的最佳值10并固定;最后对n2进行优化得到最佳值28并固定。如此循环的筛选下去,直到优化结果不再变动。假如最终得到的最优参数值分别是n1为10,n2为30,至此,参数优化工作结束。当然,参数优化的另一种方法是利用带有较强计算功能的程序化软件设计平台,直接算出目标函数与参数数组之间的分布,进而求多维差分的分布,定义一个差分阈值,差分绝对值小于阈值范围内对应的多维体积最大、多维内切球半径最高者,入选为最稳定参数取值,从而完成模型迭代和参数优化。在本实施例中,在步骤s104之后,所述方法包括:根据多个模型的数据表现,对多个模型报表进行分类;将属于同一类别的模型报表存储在同一文件夹中。多个模型对建模数据的数据表现会存在不同,在本实施例中,模型的数据表现分为优、良、差。根据多个模型的数据表现,对多个模型报表进行分类,主要是为分优、良、差三类,对于属于同一类别的模型报表存储在同一文件夹中,以便后续对模型的数据表现分类查看。例如,xgboost模型的数据表现为优,gbdt模型的数据表现为优,那么将xgboost模型和gbdt模型的模型报表存储在同一文件夹中。在一些实施例中,将生成的模型报表进行分类和存储,具体地,可以通过缺失值、类别变量、日期变量或者用户信息作为标签进行分类以及存储,从而清楚、直接地了解各个模型报表的区别和联系,进而可以根据不同的原始文件中的数据特征来对与数据特征对应的模型进行模型迭代和参数优化。综上所述,获取原始文件中的数据特征;对数据特征进行woe、iv计算,生成建模数据;根据预设配置表中的模型信息以及建模数据,生成模型报表。在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。如图2所示,本发明实施例提出小样本使用装置1,装置1包括获取模块11、处理模块12、模型建立模块13和模型报表生成模块14。获取模块11,用于获取原始文件中的数据特征。在本实施例中,获取原始文件中的原始的脏数据,包括缺失值、类别变量和日期变量等。在本实施例中,获取模块11包括:转换模块,用于将hadoop集群上的hdfs数据文件转换成csv文件;读取模块,用于读取csv文件中的数据特征。读取模块包括:配置单机程序对csv文件运算所需要的参数文件,参数文件包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法;将csv文件输入单机程序运算;读取csv文件中的数据特征。具体地,获取原始文件中的原始的脏数据,包括缺失值、类别变量和日期变量等,具体地,将hadoop集群上的hdfs数据文件转换成csv文件,用于线下单机程序运算的输入,然后配置程序运行所需要的参数文件,包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法,读取csv文件中的数据特征。处理模块12,依次对数据特征进行iv和woe计算,生成对特征数据进行预处理清洗后的建模数据。从原始文件中获取数据特征,在得到数据特征之后,对数据特征进行计算,主要是进行woe、iv计算,依次进行iv和woe计算,计算后得到的数据生成对特征数据进行预处理清洗后的建模数据。处理模块12包括:计算模块,用于对每一个数据特征进行iv计算,得到各数据特征的iv值;获取模块,用于按照数值大小对各数据特征的iv值进行排序,根据排序的顺序筛选出第一数量的目标iv值,并获取目标iv值对应的目标数据特征;映射模块,用于对目标数据特征进行woe计算,得到目标数据特征的woe映射关系表;转换模块,用于根据目标数据特征的woe映射关系,将目标数据特征转换为建模数据。对每一个数据特征进行iv计算,在完成每一个数据特征iv计算之后,得到各数据特征的iv值,iv计算的具体的计算公式为:根据iv计算的具体的计算公式可以获得各数据特征的iv值,iv可以理解为选定特征与目标特征的一个函数关系iv=f(x1,y),取值范围为大于0,数值越大,说明特征对目标变量的影响程度越大。按照数值大小对各数据特征的iv值进行排序,在本实施例中,由大到小依次排序,根据排序的顺序筛选出第一数量的目标iv值,并获取目标iv值对应的目标数据特征,在获取目标数据特征之后,对目标数据特征进行woe计算,在完成对目标数据特征woe计算之后,得到目标数据特征的woe映射关系,woe计算的具体的计算公式为:根据目标数据特征的woe映射关系,将目标数据特征转换,转换目的是将原始数据转变为可以直接进行建模的数据,在完成转换之后,生成建模数据。对每一个数据特征进行woe、iv计算,得到数据特征的iv值和woe映射关系表,iv是英文informationvalue的缩写,中文意思是信息价值,或者信息量。在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等。但是,其中最主要和最直接的衡量标准是变量的预测能力。“变量的预测能力”这个说法很笼统,很主观,非量化,可以通过一些具体的量化指标来衡量每自变量的预测能力,并根据这些量化指标的大小,来确定哪些变量进入模型。iv就是这样一种指标,iv可以用来衡量自变量的预测能力。类似的指标还有信息增益、基尼系数等等。woe的全称是“weightofevidence”,即证据权重。woe是对原始自变量的一种编码形式。要对一个变量进行woe编码,需要首先把这个变量进行分组处理(也叫离散化、分箱等等,说的都是一个意思)。分组后,对于第i组,woe的计算公式如下:iv的技术公式如下:其中,pyi是这个组中响应客户(风险模型中,对应的是违约客户,总之,指的是模型中预测变量取值为“是”或者说1的个体)占所有样本中所有响应客户的比例,pni是这个组中未响应客户占样本中所有未响应客户的比例,#yi是这个组中响应客户的数量,#ni是这个组中未响应客户的数量,#yt是样本中所有响应客户的数量,#nt是样本中所有未响应客户的数量。根据上述公式可知,woe表示的实际上是“当前分组中响应客户占所有响应客户的比例”和“当前分组中没有响应的客户占所有没有响应的客户的比例”的差异。对这个公式做一个简单变换,可以得到:变换以后我们可以看出,woe也可以这么理解,他表示的是当前这个组中响应的客户和未响应客户的比值,和所有样本中这个比值的差异。这个差异是用这两个比值的比值,再取对数来表示的。woe越大,这种差异越大,这个分组里的样本响应的可能性就越大,woe越小,差异越小,这个分组里的样本响应的可能性就越小。根据产生的woe映射关系表对原始文件中的数据进行转换,完成数据的预处理清洗过程,使原始文件中的数据转变成可以直接用于进行建模的数据,提高建模的精确度。模型建立模块13,用于根据预设配置表中的多个模型信息以及建模数据,建立多个模型信息分别对应的模型。模型报表生成模块14,用于获取多个模型的数据表现,生成多个模型分别对应的模型报表。根据预设配置表中的多个模型信息和建模数据,每一个模型信息和建模数据,可以建立该模型信息对应的模型,从而建立多个模型信息分别对应的模型。获取多个模型的数据表现,根据多个模型的数据表现生成多个模型分别对应的模型报表。在本实施例中,预设配置表中的模型信息包括xgboost模型信息、gbdt模型信息、lightgbm模型信息、catboost模型信息和tensorflow模型信息。通过选择预设配置表中的模型信息,包括:xgboost模型信息,gbdt模型信息,lightgbm模型信息,catboost模型信息,tensorflow模型信息等进行建模,输出各个模型的具体表现,以生成模型报表。具体地,以构建一个为了预测公司的客户集合中的每个客户对于我们的某项营销活动是否能够响应的预测模型为例,先从公司客户列表中随机抽取了100000个客户进行了营销活动测试,收集了这些客户的响应结果,作为我们的建模数据集,其中响应的客户有10000个。提取这些客户的一些变量,作为我们模型的候选变量集,这些变量包括以下这些:1、最近一个月是否有购买;2、最近一次购买金额;3、最近一笔购买的商品类别;4、是否是公司vip客户;先对这些变量进行了离散化,统计的结果如下面几张表所示。(1)最近一个月是否有过购买:最近一个月是否有过购买响应未响应合计响应比例是4000160002000020%否600074000800007.5%合计100009000010000010%(2)最近一次购买金额:最近一次购买金额响应未响应合计响应比例<100元250047500500005%[100,200)3000270003000010%[200,500)3000120001500020%>=500元15003500500030%合计100009000010000010%(3)最近一笔购买的商品类别:最近一笔购买的商品类别响应未响应合计响应比例3c300057000600005%化妆品2000180002000010%母婴5000150002000025%合计100009000010000010%(4)是否是公司vip客户:是否是公司vip客户响应未响应合计响应比例是550045001000055%否450085000900005%合计100009000010000010%以“最近一次购买金额”变量为例:最近一次购买金额响应未响应合计响应比例<100元250047500500005%[100,200)3000270003000010%[200,500)3000120001500020%>=500元15003500500030%合计100009000010000010%woe的计算公式为:将这个变量离散化为了4个分段:<100元,[100,200),[200,500),>=500元。首先,根据woe计算公式,这四个分段的woe分别为:最近一次购买金额响应未响应合计响应比例woe<100元250047500500005%-0.74721[100,200)3000270003000010%0[200,500)3000120001500020%0.81093>=500元15003500500030%1.349927合计100009000010000010%0从上面的计算结果中我们可以看一下woe的基本特点:第一、当前分组中,响应的比例越大,woe值越大;第二、当前分组woe的正负,由当前分组响应和未响应的比例,与样本整体响应和未响应的比例的大小关系决定,当前分组的比例小于样本整体比例时,woe为负,当前分组的比例大于整体比例时,woe为正,当前分组的比例和整体比例相等时,woe为0。第三、woe的取值范围是全体实数。woe描述了变量当前这个分组,对判断个体是否会响应所起到影响方向和大小,当woe为正时,变量当前取值对判断个体是否会响应起到的正向的影响,当woe为负时,起到了负向影响。而woe值的大小,则是这个影响的大小的体现。然后分别计算四个分组的iv值:根据上述iv的计算结果我们可以看出iv的以下特点:第一、对于变量的一个分组,这个分组的响应和未响应的比例与样本整体响应和未响应的比例相差越大,iv值越大,否则,iv值越小;第二、极端情况下,当前分组的响应和未响应的比例和样本整体的响应和未响应的比例相等时,iv值为0;第三、iv值的取值范围是[0,+∞),且,当当前分组中只包含响应客户或者未响应客户时,iv=+∞。计算变量总iv值:iv=iv1+iv2+iv3+iv4=0.492706根据上述原理计算了另外三个变量,得到四个变量的iv结果如下。(1)、最近一次购买金额:0.49270645;(2)、最近一个月是否有过购买:0.250224725;(3)、最近一笔购买的商品类别:0.615275563;(4)、是否是公司vip客户:1.56550367。这四个变量iv排序结果是这样的:是否是公司vip客户>最近一笔购买的商品类别>最近一次购买金额>最近一个月是否有过购买。可知“是否是公司vip客户”是预测能力最高的变量,而“最近一个月是否有过购买”是预测能力最低的变量。即可根据iv从高到低这四个变量中挑选变量,清洗不必要或者代表性不高的数据,从而提高建模的普适性和准确度,在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。装置1包括:优化模块,用于根据多个模型的数据表现,分别对每个模型进行迭代和参数优化。模型报表上包含模型的数据表现,根据多个模型的数据表现,分别对每个模型进行迭代和参数优化。通过根据模型报表上的数据表现来进行模型迭代和参数优化,具体地,数据表现包括参数高原和参数孤岛,参数高原是指存在着一个较宽的参数范围,模型在这个参数范围内都能取得较好的效果,一般会以高原的中心形成近似正态分布状;而参数孤岛是指只有在参数值处于某个很小的范围内时,模型才有较好表现,而当参数偏离该值时,模型的表现便会显著变差,所以参数优化中一个重要的原则就是要争取参数高原而不是参数孤岛。根据上述参数高原和参数孤岛原理,当模型中存在多个参数数组时,往往一个参数数组的取值会影响到另外一个参数高原的分布。具体地,参数优化的方法可以采用逐步收敛法,即先单独对一个参数进行优化,取得其最佳值后固定下来,然后再对另外一个参数进行优化,取得其最佳值后固定下来,如此循环,直到优化结果不再变动。以一个均线交叉买卖交易模型为例,两个独立参数分别是均线短周期n1和长周期n2。首先固定n2为1,对n1在1到100的数值范围内进行测试筛选,寻找最佳数值,最终得到最佳参数为8并固定;其次对n2在1到200之间进行优化,得到最佳值26并固定;再次对n1进行第二轮优化,得到新的最佳值10并固定;最后对n2进行优化得到最佳值28并固定。如此循环的筛选下去,直到优化结果不再变动。假如最终得到的最优参数值分别是n1为10,n2为30,至此,参数优化工作结束。当然,参数优化的另一种方法是利用带有较强计算功能的程序化软件设计平台,直接算出目标函数与参数数组之间的分布,进而求多维差分的分布,定义一个差分阈值,差分绝对值小于阈值范围内对应的多维体积最大、多维内切球半径最高者,入选为最稳定参数取值,从而完成模型迭代和参数优化。在本实施例中,装置1包括:分类模块,用于根据多个模型的数据表现,对多个模型报表进行分类;存储模块,用于将属于同一类别的模型报表存储在同一文件夹中。多个模型对建模数据的数据表现会存在不同,在本实施例中,模型的数据表现分为优、良、差。根据多个模型的数据表现,对多个模型报表进行分类,主要是为分优、良、差三类,对于属于同一类别的模型报表存储在同一文件夹中,以便后续对模型的数据表现分类查看。例如,xgboost模型的数据表现为优,gbdt模型的数据表现为优,那么将xgboost模型和gbdt模型的模型报表存储在同一文件夹中。在一些实施例中,将生成的模型报表进行分类和存储,具体地,可以通过缺失值、类别变量、日期变量或者用户信息作为标签进行分类以及存储,从而清楚、直接地了解各个模型报表的区别和联系,进而可以根据不同的原始文件中的数据特征来对与数据特征对应的模型进行模型迭代和参数优化。综上所述,获取原始文件中的数据特征;对数据特征进行woe、iv计算,生成建模数据;根据预设配置表中的模型信息以及建模数据,生成模型报表。在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。如图3所示,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储小样本使用方法的模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现小样本使用方法。上述处理器执行上述小样本使用方法的步骤:获取原始文件中的数据特征;依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据;根据预设配置表中的多个模型信息以及所述建模数据,建立所述多个模型信息分别对应的模型;获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表。在一个实施例中,上述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,包括:根据所述多个模型的数据表现,分别对每个模型进行迭代和参数优化。在一个实施例中,上述获取原始文件中的数据特征的步骤中,包括:将hadoop集群上的hdfs数据文件转换成csv文件;读取所述csv文件中的数据特征。在一个实施例中,上述读取所述csv文件中的数据特征的步骤中,包括:配置单机程序对所述csv文件运算所需要的参数文件,所述参数文件包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法;将所述csv文件输入所述单机程序运算;读取所述csv文件中的数据特征。在一个实施例中,上述依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据的步骤中,包括:对每一个数据特征进行iv计算,得到各数据特征的iv值;按照数值大小对各数据特征的iv值进行排序,根据所述排序的顺序筛选出第一数量的目标iv值,并获取所述目标iv值对应的目标数据特征;对所述目标数据特征进行woe计算,得到所述目标数据特征的woe映射关系表;根据所述目标数据特征的woe映射关系,将所述目标数据特征转换为建模数据。在一个实施例中,上述预设配置表中的多个模型信息包括xgboost模型信息、gbdt模型信息、lightgbm模型信息、catboost模型信息和tensorflow模型信息。在一个实施例中,上述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,包括:根据所述多个模块的数据表现,对所述多个模块报表进行分类;将属于同一类别的模块报表存储在同一文件夹中。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。本申请实施例的计算机设备,获取原始文件中的数据特征;对数据特征进行woe、iv计算,生成建模数据;根据预设配置表中的模型信息以及建模数据,生成模型报表。在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现小样本使用方法,具体为:获取原始文件中的数据特征;依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据;根据预设配置表中的多个模型信息以及所述建模数据,建立所述多个模型信息分别对应的模型;获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表。在一个实施例中,上述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,包括:根据所述多个模型的数据表现,分别对每个模型进行迭代和参数优化。在一个实施例中,上述获取原始文件中的数据特征的步骤中,包括:将hadoop集群上的hdfs数据文件转换成csv文件;读取所述csv文件中的数据特征。在一个实施例中,上述读取所述csv文件中的数据特征的步骤中,包括:配置单机程序对所述csv文件运算所需要的参数文件,所述参数文件包括模型id、数据文件名、数据id列、数据剔除特征列、目标特征列和模型算法;将所述csv文件输入所述单机程序运算;读取所述csv文件中的数据特征。在一个实施例中,上述依次对所述数据特征进行iv和woe计算,生成对所述特征数据进行预处理清洗后的建模数据的步骤中,包括:对每一个数据特征进行iv计算,得到各数据特征的iv值;按照数值大小对各数据特征的iv值进行排序,根据所述排序的顺序筛选出第一数量的目标iv值,并获取所述目标iv值对应的目标数据特征;对所述目标数据特征进行woe计算,得到所述目标数据特征的woe映射关系表;根据所述目标数据特征的woe映射关系,将所述目标数据特征转换为建模数据。在一个实施例中,上述预设配置表中的多个模型信息包括xgboost模型信息、gbdt模型信息、lightgbm模型信息、catboost模型信息和tensorflow模型信息。在一个实施例中,上述获取所述多个模型的数据表现,生成所述多个模型分别对应的模型报表的步骤之后,包括:根据所述多个模块的数据表现,对所述多个模块报表进行分类;将属于同一类别的模块报表存储在同一文件夹中。本申请实施例的存储介质,获取原始文件中的数据特征;对数据特征进行woe、iv计算,生成建模数据;根据预设配置表中的模型信息以及建模数据,生成模型报表。在小于50万条数据样本的条件下,不需要通过spark大数据平台进行建模,数据样本少以减少建模计算用时,提高模型迭代效率,大大缩短了调试的时间;而且将程序进行打包后在linux/windows环境下直接运行,具有易于移植的特性,而且对系统环境的依赖较少,方便进行维护,可以根据各个模型在数据上表现和实际业务场景进行导入,相对spark上封装好的无法改动的接口,开发流程比较自由,实施可定制化,提高模型精度的同时提高业务服务效率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1