本发明涉及机器学习技术领域,尤其涉及一种模型复用方法、装置、设备及存储介质。
背景技术:
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
在机器学习建模过程中,经常有需要进行模型复用的场景。但是,当前却缺乏模型复用的方法,只能新建一个字段、参数与原模型一致的模型副本,再将新的数据表引入模型副本,由此运行得到结果。该模型副本与原模型没有强联系,并且若原模型有调整,则需要重新建立或调整模型副本。因此,模型复用的难以与原模型同步,复用效率不高。
技术实现要素:
本发明提供一种模型复用方法、装置、设备及存储介质,旨在增强复用模型与原模型的联系、提高同步性和模型复用效率。
为实现上述目的,本发明提供一种模型复用方法,所述方法包括:
接收待复用模型和目标数据表,并获取模型复用方式;
运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;
运行成功后获得处理结果,并输出所述处理结果。
优选地,所述模型复用方式包括同组件模型传递和同组件模型预测,
所述由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理的步骤包括:
若所述模型复用方式为同组件模型传递,则根据所述待复用模型的字段和参数对所述目标数据表进行处理;
若所述模型复用方式为同组件模型预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测。
优选地,所述模型复用方式包括组件间预测和组件间交叉验证,
所述由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理的步骤包括:
若所述模型复用方式为组件间预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测;
若所述模型复用方式为组件间交叉验证,则由所述待复用模型根据内置验证参数以及自定义验证参数对所述目标数据表进行交叉验证。
优选地,所述接收待复用模型和目标数据表的步骤之前还包括:
设置数据输入端口和模型输入端口;
通过所述模型输入端口输入所述待复用模型,并通过所述数据输入端口输入所述目标数据表。
优选地,所述通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表的步骤之前还包括:
对第一数据表进行训练和/或处理,获得所述待复用模型。
优选地,所述通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表的步骤之前还包括:
根据拆分工具对初始数据表进行拆分,获得所述目标数据表。
优选地,所述拆分工具包括数据表输入端口和目标数据表输出端口,所述根据拆分工具对初始数据表进行拆分,获得所述目标数据表的步骤包括:
将初始数据表通过所述数据表输入端口输入所述拆分工具;
通过所述拆分工具根据接收到的筛选条件对所述初始数据表进行拆分,将符合所述筛选条件的数据保存为所述目标数据表
此外,为实现上述目的,本发明还提供一种模型复用装置,所述模型复用装置包括:
接收模块,用于接收待复用模型和目标数据表,并获取模型复用方式;
运行模块,用于运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;
输出模块,用于运行成功后获得处理结果,并输出所述处理结果。
此外,为实现上述目的,本发明还提供一种模型复用设备,所述模型复用设备包括处理器,存储器以及存储在所述存储器中的模型复用程序,所述模型复用程序被所述处理器运行时,实现如上所述的模型复用方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有模型复用程序,所述模型复用程序被处理器运行时实现如上所述模型复用方法的步骤。
相比现有技术,本发明提供一种模型复用方法、装置、设备及存储介质,接收待复用模型和目标数据表,并获取模型复用方式;运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;运行成功后获得处理结果,并输出所述处理结果。由此,通过模型复用,增强了复用模型与原模型的联系、提高了同步性和模型复用效率。
附图说明
图1是本发明各实施例涉及的模型复用设备的硬件结构示意图;
图2是本发明模型复用方法第一实施例的流程示意图;
图3是本发明模型复用方法一实施例的第一场景示意图;
图4是本发明模型复用方法一实施例的第二场景示意图;
图5是本发明模型复用方法第二实施例的流程示意图;
图6是本发明模型复用装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例主要涉及的模型复用设备是指能够实现网络连接的网络连接设备,所述模型复用设备可以是服务器、云平台等。另外本发明实施例涉及的移动终端可以为手机、平板电脑等移动网络设备。
参照图1,图1是本发明各实施例涉及的模型复用设备的硬件结构示意图。本发明实施例中,模型复用设备可以包括处理器1001(例如中央处理器centralprocessingunit、cpu),通信总线1002,输入端口1003,输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出,存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块、应用程序模块以及模型复用程序。在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
接收待复用模型和目标数据表,并获取模型复用方式;
运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;
运行成功后获得处理结果,并输出所述处理结果。
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
若所述模型复用方式为同组件模型传递,则根据所述待复用模型的字段和参数对所述目标数据表进行处理;
若所述模型复用方式为同组件模型预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测。
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
若所述模型复用方式为组件间预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测;
若所述模型复用方式为组件间交叉验证,则由所述待复用模型根据内置验证参数以及自定义验证参数对所述目标数据表进行交叉验证。
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
设置数据输入端口和模型输入端口;
通过所述模型输入端口输入所述待复用模型,并通过所述数据输入端口输入所述目标数据表。
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
对第一数据表进行训练和/或处理,获得所述待复用模型
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
根据拆分工具对初始数据表进行拆分,获得所述目标数据表。
处理器1001可以调用存储器1005中存储的模型复用程序,并执行如下操作:
将初始数据表通过所述数据表输入端口输入所述拆分工具;
通过所述拆分工具根据接收到的筛选条件对所述初始数据表进行拆分,将符合所述筛选条件的数据保存为所述目标数据表。
本发明实施例提供了一种模型复用方法。
参照图2,图2是本发明模型复用方法第一实施例的流程示意图。
本实施例中,所述模型复用方法应用于模型复用设备,所述方法包括:
步骤s101:接收待复用模型和目标数据表,并获取模型复用方式;
本实施例中,所述待复用模型包括待复用特征工程模型和待复用训练算法模型,其中所述待复用特征工程模型是指各种特征工程。特征工程包括特征提取、特征选择、特征构建,其中特征提取是指给定的特征集合中选出相关特征子集的过程;特征提取是在特征选择之前,它提取的对象是原始数据,目的就是自动地构建新的特征,将原始数据转换为一组具有明显物理意义(比如几何特征、纹理特征)或者统计意义的特征;特征构建是指从原始数据中构建新的特征。本实施例中所述特征工程包括特征缺失值填充、特征归一化、特征聚类、特征分箱、特征组合、特征变换、特征编码等;本实施例中,所述待复用训练算法模型是指根据各种训练算法获得的模型,所述训练算法包括:二分类、多分类、回归算法、聚类算法、推荐算法等。
所述模型复用方式由用户根据需要指定。例如用户可以通过指令、代码、预设控件等方式指定所述模型复用方式。此外,还可以在工作流程图中设置模型复用,以供直接根据所述工作流程图执行模型复用过程。本实施例中,预先保存用户设置的所述模型复用方式,以供后续调用。若用户未指定所述模型复用方式,则输出未指定模型复用方式的提示,或者,调用默认的模型复用方式。
步骤s102:运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;
根据所述步骤s101中指定的所述待复用模型、所述目标数据表以及所述模型复用方式,读取所述目标数据表,并根据所述模型复用方式运行所述待复用模型。
具体地,所述模型复用方式包括同组件模型传递和同组件模型预测,例如将决策树传递至决策树,将预测模型传递至预测模型。
所述步骤s102:由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理的步骤包括:
步骤s102a1:若所述模型复用方式为同组件模型传递,则根据所述待复用模型的字段和参数对所述目标数据表进行处理;
一般地,所述待复用模型本身带有字段和参数,基于所述字段和参数即可对所述目标数据表进行处理。具体地,若所述同组件模型传递是将决策树传递至决策树,则根据待复用决策树的字段和参数对目标数据表进行处理,获得传递后的决策树。例如,将所述决策树x1作为待复用模型,则根据所述决策树x的字段和参数对待处理的目标数据表进行处理,获得传递后的决策树x2。
步骤s102a2:若所述模型复用方式为同组件模型预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测。
可以理解地,预测组件包括预测算法,本实施例将所述待复用模型的预测算法标记为所述内置算法。对于同组件模型预测,则根据所述内置算法对所述目标数据表中的数据进行预测,获得预测结果。
本实施例中,所述同组件模型传递和同组件模型预测均属于同组件模型复用。所述同组件模型复用是指复用所述待复用模型参数和方法,而无需重新设置参数,对其输入的所述目标数据表按所述待复用模型的参数和方法进行处理。例如若所述待复用模型为待复用特征工程模型,则由所述待复用特征工程模型根据对应的特征工程算法对所述目标数据表进行预处理,以此获得第二特征工程模型;将所述第二特征工程模型标记为处理结果,并输出所述第二特征工程模型。例如,若所述特征工程算法是特征分箱,则根据所述特征分箱的字段和参数配置对目标数据表进行分箱处理,获得特征分箱模型。
具体地,参考图3,图3是本发明模型复用方法一实施例的第一场景示意图。在图3中,所述待复用模型为特征分箱1。首先对数据表1进行分箱,获得特征分箱1,所述特征分箱1即为待复用模型,由所述特征分箱1根据其自身的字段和参数配置对数据表2进行处理,获得特征分箱2,所述特征分箱2即为所述第二特征工程模型。由此,对所述特征分箱1进行模型复用,获得了所述特征分箱2,大大减轻了建模人员的工作负担。
进一步地,所述模型复用方式包括组件间预测和组件间交叉验证,
所述步骤s102:由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理的步骤包括:
步骤s102b1:若所述模型复用方式为组件间预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测;
“组件间”是指涉及到两种或者两种以上的待复用模型。例如一个模型复用的流程中同时包括特征工程、决策树等模型。若所述模型复用方式为组件间预测,则所述模型复用方法中涉及预测模型,预测模型是在采用定量预测法进行预测时,最重要的工作是建立预测数学模型。预测模型是指用于预测的,用数学语言或公式所描述的事物间的数量关系。它在一定程度上揭示了事物间的内在规律性,预测时把它作为计算预测值的直接依据。所述预测模型包括卡尔曼滤波预测模型、神经网络预测模型、组合预测模型等。若所述模型复用方式为组件间预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测。
步骤s102b2:若所述模型复用方式为组件间交叉验证,则由所述待复用模型根据内置验证参数以及自定义验证参数对所述目标数据表进行交叉验证。
交叉验证(cross-validation)是一种统计学上将数据样本切割成较小子集的实用方法,主要用于建模应用中,例如pcr、pls回归建模中。交叉验证是指在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。本实施例中,所述组件间预测和组件间交叉验证属于组件间模型复用。所述组件间模型复用是指所述待复用组件与获得的处理结果不是同一种模型,所述待复用模型可作为预测组件和交叉验证组件的模型输入。
具体的,参考图4,图4是本发明模型复用方法一实施例的第二场景示意图。图4a中的预设操作类型为同组件模型预测,根据预设训练算法对数据表a1进行训练,获得决策树a1,所述决策树a1即为所述待复用模型,将所述决策树a1通过预设的模型输入端口输入,并通过预设的数据输入端口输入目标数据表:数据表a2,直接利用决策树a1的树模型直接对数据表a2进行处理,无需训练,即可获得数据表a2的分类结果。
继续参照图4,图4b中,所述待复用模型为特征工程。根据特征工程算法的字段和参数对数据表b1进行选择,获得特征选择b1,所述特征选择b1为待复用模型;对所述特征选择b1进行训练获得决策树b1,再利用所述决策树b1对目标数据表b2进行预测,获得处理结果预测b1。或者,根据所述决策树b1进行验证,获得交叉验证结果:交叉验证b。由此,实现了不同模型间的复用。
进一步地,若所述待复用模型是待复用训练算法模型,则所述待复用训练算法模型组件输出的训练算法模型可作为预测组件和交叉验证组件的模型输入。预测组件和交叉验证组件均用于评估训练算法模型在新数据上的表现,因此输入模型须和算法模型保持高度一致。如此,决策树的模型输出作为交叉验证组件的模型输入,用来对决策树模型训练进行交叉验证;决策树的模型输出作为预测组件的输入,用来对新的数据进行预测。
步骤s103:运行成功后获得处理结果,并输出所述处理结果。
所述待复用模型运行成功后,即可获得处理结果,并输出所述处理结果,其中,所述处理结果包括第二训练模型、预测结果、验证结果等。可以理解地,根据所述待复用模型的功能,可以获得与模型功能对应的处理结果。例如,若所述模型复用方式是所述同组件模型传递是将决策树传递至决策树,则输出决策树;若所述模型复用方式是组件间预测,则输出预测结果。
本实施例通过上述方案,接收待复用模型和目标数据表,并获取模型复用方式;运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;运行成功后获得处理结果,并输出所述处理结果。由此,通过模型复用,增强了复用模型与原模型的联系、提高了同步性和模型复用效率。
如图5所示,本发明第二实施例提出一种模型复用方法,基于上述图2所示的第一实施例,所述通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表的步骤之前还包括:
步骤s1001,设置数据输入端口和模型输入端口;
具体地,在机器学习复用的组件中设置所述数据输入端口和所述模型输入端口,所述数据输入端口用于数据和/数据表的输入,所述模型输入端口用于输入待复用模型。
进一步地,设置输入端口可以通过设置端口的形态,或者对端口进行标记以示区分。设置所述数据输入端口的形态,例如圆形、菱形、三角形等;设置所述模型输入端口的形态,例如六边形、八边形、星形等。一般地,为了便于区分,在同一个模型复用方法中,所述所述数据输入端口的形态与所述模型输入端口的形态为不相同的形态。
其中,所述数据输入端口用于数据输入,所述数据输入端口与数据端口相连接;所述模型输入端口用于模型输入,所述模型输入端口与模型端口相连接。
进一步地,设置模型输出端口,所述模型输出端口用于输出处理结果。
步骤s1002,通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表;
通过预先设置的所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表。
可以理解地,所述通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表的步骤之前还包括:
对第一数据表进行训练和/或处理,获得所述待复用模型。
具体地,可以根据预设机器学习算法对第一数据表进行训练,获得所述待复用模型;或者根据预设特征工程对所述第一数据表进行处理,获得所述待复用模型。
进一步地,所述通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表的步骤之前还包括:步骤s1002-1根据拆分工具对初始数据表进行拆分,获得所述目标数据表。
在机器学习建模过程中,针对不同的业务场景,建模人员需要从初始数据表中根据某些条件拆分出可以用于建模的目标数据表。例如,一个商品个性化推荐的场景,对一款目标是中年客户的用户场景进行推荐建模,建模人员需要先从包含客户信息的初始数据表中拆分出年龄在40-65岁且性别为男性的目标数据表,再对拆分的所述目标数据表根据相关维度进行进一步的处理,其中,所述相关维度包括购买力、常用购买方式、购物偏好等。
由于业务建模人员可能缺乏代码开发能力和调试能力,在计算机领域利用代码拆分符合条件的数据集具备较高的门槛且容易出错,或需要通过数据库操作提取数据,又或者通过excel来处理数据,难以应对数据量庞大且组合条件较多的情况,耗时耗力,体验较差,缺少了一种人机直接交互的方式,快速进行条件拆分处理。
本实施例中,通过拆分工具包对所述初始数据表进行拆分,所述拆分工具包括数据表输入端口和目标数据表输出端口,所述步骤s1002-1:根据拆分工具对初始数据表进行拆分,获得所述目标数据表的步骤包括:
步骤s1002-1a:将初始数据表通过所述数据表输入端口输入所述拆分工具;
本实施例中,所述数据拆分工具可以是excel数据拆分能手、csv拆分工具、sql数据拆分工具等。
步骤s1002-1b:通过所述拆分工具根据接收到的筛选条件对所述初始数据表进行拆分,将符合所述筛选条件的数据保存为所述目标数据表。
筛选条件由建模人员根据项目需求进行设置:从所述初始数据表中选择需要添加的字段,并且为该字段的各个维度设置对应的拆分条件。所述拆分条件由操作符和值确定,条件涉及多个表达式时可通过值输入框后的“+”和“×”进行表达式的添加或删除,各表达式以“与”关系来组合条件。本实施例中,所述操作符包括“>”、“=”、“!=”、“<”、“>=”、“<=”、“in”、“between”等;将拆分条件保存后运行组件,组件运行成功后生成运行报告以供查看,所述运行报告显示条件拆分的拆分结果,满足拆分条件的所述原始数据将会被拆分到目标数据表输出端口输出,不满足拆分条件的数据集将被拆分到非目标数据表输出端口输出。
本实施例通过上述方案,设置数据输入端口和模型输入端口;;通过所述模型输入端口输入待复用模型,并通过所述数据表输入端口输入目标数据表;接收待复用模型和目标数据表,并获取模型复用方式;运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;运行成功后获得处理结果,并输出所述处理结果。由此,通过模型复用,增强了复用模型与原模型的联系、提高了同步性和模型复用效率。
此外,本实施例还提供一种模型复用装置。参照图6,图6为本发明模型复用装置第一实施例的功能模块示意图。
本实施例中,所述模型复用装置为虚拟装置,存储于图1所示的模型复用设备的存储器1005中,以实现模型复用程序的所有功能:用于接收待复用模型和目标数据表,并获取模型复用方式;用于运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;用于运行成功后获得处理结果,并输出所述处理结果。
具体的地,所述模型复用装置包括:
接收模块10,用于接收待复用模型和目标数据表,并获取模型复用方式;
运行模块20,用于运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;
输出模块30,用于运行成功后获得处理结果,并输出所述处理结果。
进一步地,所述运行模块包括:
处理单元,用于若所述模型复用方式为同组件模型传递,则根据所述待复用模型的字段和参数对所述目标数据表进行处理;
第一预测单元,用于若所述模型复用方式为同组件模型预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测。
进一步地,所述运行模块包括:
第二预测单元,用于若所述模型复用方式为组件间预测,则由所述待复用模型根据内置算法对所述目标数据表进行预测;
交叉验证单元,用于若所述模型复用方式为组件间交叉验证,则由所述待复用模型根据内置验证参数以及自定义验证参数对所述目标数据表进行交叉验证。
进一步地,所述接收模块还包括:
设置单元,用于设置数据输入端口和模型输入端口;
输入单元,用于通过所述模型输入端口输入所述待复用模型,并通过所述数据输入端口输入所述目标数据表。
进一步地,所述输入单元还包括:
第一获得子单元,用于对第一数据表进行训练和/或处理,获得所述待复用模型。
进一步地,所述输入单元还包括:
第二获得子单元,用于根据拆分工具对初始数据表进行拆分,获得所述目标数据表。
进一步地,所述第二获得子单元包括:
输入子单元,用于将初始数据表通过所述数据表输入端口输入所述拆分工具;
拆分子单元,用于通过所述拆分工具根据接收到的筛选条件对所述初始数据表进行拆分,将符合所述筛选条件的数据保存为所述目标数据表。
此外,本发明实施例还提供一种计算机存储介质,所述计算机存储介质上存储有模型复用程序,所述模型复用程序被处理器运行时实现如上所述模型复用方法的步骤,此处不再赘述。
相比现有技术,本发明提出的一种模型复用方法、装置、设备及存储介质,该方法包括:接收待复用模型和目标数据表,并获取模型复用方式;运行所述待复用模型,由所述待复用模型基于所述模型复用方式对所述目标数据表进行处理;运行成功后获得处理结果,并输出所述处理结果。由此,通过模型复用,增强了复用模型与原模型的联系、提高了同步性和模型复用效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。