CN111008707A - 自动化建模方法、装置及电子设备 - Google Patents
自动化建模方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111008707A CN111008707A CN201911251943.0A CN201911251943A CN111008707A CN 111008707 A CN111008707 A CN 111008707A CN 201911251943 A CN201911251943 A CN 201911251943A CN 111008707 A CN111008707 A CN 111008707A
- Authority
- CN
- China
- Prior art keywords
- data
- training
- machine learning
- initial
- learning model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种自动化建模方法、装置及电子设备,该方法包括:获取并保存作为初始模型训练基础的初始训练数据;基于保存的初始训练数据生成初始训练样本,并利用所述初始训练样本训练出初始机器学习模型;基于训练出的所述初始机器学习模型,获得模型训练方案;基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型;以及,利用选择出的机器学习模型进行预测服务。
Description
技术领域
本发明涉及人工智能领域,更具体地,涉及一种自动化建模方法、一种自动化建模装置、及一种电子设备。
背景技术
目前,机器学习模型的构建主要是由专业建模人员通过手动编写代码或者使用图形化界面的方式来实现,然而,这两种实现方式均需要投入很高的人力成本和时间成本,才能得到一个较为满意的模型,不利于模型的大规模探索和应用,因此,有必要提供一种自动化建模方法。
发明内容
本发明实施例的一个目的是提供一种自动化建模的新技术方案。
根据本发明的第一方面,提供了一种自动化建模方法,其包括:
获取并保存作为初始模型训练基础的初始训练数据;
基于保存的初始训练数据生成初始训练样本,并利用所述初始训练样本训练出初始机器学习模型;
基于训练出的所述初始机器学习模型,获得模型训练方案;
基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型;以及,
利用选择出的机器学习模型进行预测服务。
可选地,所述初始训练数据包括行为数据和反馈数据之中的至少一项,所述更新的训练数据包括更新的行为数据和更新的反馈数据之中的至少一项。
可选地,所述获取并保存作为初始模型训练基础的初始训练数据,包括:
分别提供导入行为数据或导入反馈数据的至少一个数据导入路径;
在选择数据导入路径之后,上传行为数据表或反馈数据表;
提供对上传的数据表进行信息配置的配置界面;
根据通过所述配置界面输入的配置信息,导入行为数据表中的行为数据或反馈数据表中的反馈数据;
保存行为数据或反馈数据。
可选地,所述方法在上传行为数据表或反馈数据表之后,还包括:
自动识别行为数据表或反馈数据表中的数据字段类型。
可选地,所述通过所述信息配置界面输入的配置信息涉及对所上传的数据表的数据基本信息的配置和数据存储配置之中的至少一项。
可选地,对所上传的数据表的数据存储配置涉及对所上传的数据表的数据结构的配置、对所上传的数据表的主键字段的配置以及对所上传的数据表进行异常数据处理的配置之中的至少一项。
其中,对所上传的数据表进行异常数据处理包括缺失值填充和无用数据清理之中的至少一项。
可选地,所述方法还包括:
分别提供对所上传的多个行为数据表或多个反馈数据表进行拼接的配置界面;
响应于训练初始机器学习模型的启动操作,分别获取通过所述配置界面输入的对所上传的多个行为数据表或所上传的多个反馈数据表进行拼接的拼接主键和关系类型之中的至少一项;
根据所述拼接主键和/或关系类型,分别拼接多个行为数据表或多个反馈数据表。
可选地,所述方法还包括:
分别统计属于相同数据字段类型的行为数据或反馈数据,获得统计结果;
根据所述数据字段类型,分别展示所述统计结果。
可选地,所述基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型,包括:
提供进行关于模型训练的配置的配置界面;
根据通过所述配置界面输入的配置信息,将保存的行为数据和反馈数据生成初始训练样本;
利用预置的至少一种模型训练算法,基于初始训练样本来训练出初始机器学习模型。
可选地,通过所述配置界面输入的配置信息涉及以下项之中的至少一项:行为数据选取规则的配置和反馈数据选取规则的配置、用于将行为数据拆分为训练数据和验证数据的数据拆分规则的配置、用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成规则的配置、模型训练停止策略的配置、用于选取特征的规则的配置以及用于按照预设调参方式进行参数调优的自动调参配置,
其中,所述行为数据选取规则或所述反馈数据选取规则包括根据业务时间来选取作为初始模型训练基础的行为数据切片或反馈数据切片。
可选地,所述根据业务时间来选取作为初始模型训练基础的行为数据切片或反馈数据切片,包括:
响应于针对按照业务时间来选取行为数据切片或反馈数据切片的触发操作,获取作为数据分片基础的时间字段和分片粒度;
提供选择所述时间字段和所述分片粒度下的数据切片的数据选择界面;
根据通过所述数据选择界面选择的行为数据切片或反馈数据切片,作为初始模型训练基础的行为数据切片或反馈数据切片。
可选地,所述用于将行为数据拆分为训练数据和验证数据的数据拆分规则包括以下项之中的至少一项:
直接按照预先设置的拆分比例将行为数据拆分为训练数据和验证数据;或者,
随机打乱行为数据;
按照预设的拆分比例将打乱后的行为数据拆分为训练数据和验证数据;或者,
随机选取一个行为数据作为起始训练数据,以及,随机选取另外一个行为数据作为起始验证数据;
以所述起始训练数据为起点,选取一定数量的行为数据作为训练数据;以及,以所述起始验证数据为起点,选取一定数量的行为数据作为验证数据;或者,
获取作为分组基础的数据字段类型;
根据所述数据字段类型将行为数据进行拆分,得到多组行为数据;
按照预设的拆分比例,分别将每一组行为数据拆分为候选训练数据和候选验证数据;
将多组行为数据对应的候选训练数据进行拼接,得到最终的训练数据;以及,将多组行为数据对应的候选验证数据进行拼接,得到最终的验证数据;或者,
获取定义了数据拆分规则的脚本;
根据所述脚本,自动将行为数据拆分为训练数据和验证数据。
可选地,所述用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成包括以下项之中的至少一项:
对数据字段类型进行特定的数值运算;或者,
对数据字段类型中包括的多个时间字段进行运算;或者,
对数据字段类型中包括的多个分类字段进行升维处理;或者,
直接将数据字段类型进行自动特征组合。
可选地,所述模型训练停止策略包括以下项之中的至少一项:
在利用至少一种模型训练算法训练出的机器学习模型的效果达到设定的效果时,停止训练;或者,
在利用至少一种模型训练算法训练机器学习模型时的训练时间达到设定的时间阈值时,停止训练;或者,
在利用至少一种模型训练算法训练机器学习模型时的训练轮数达到设定的训练轮数时,停止训练。
可选地,所述模型训练方案包括用于自动训练出所述初始机器学习模型的算法及其超参数。
可选地,所述利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型,包括:
提供进行关于模型自学习的配置的配置界面;
根据通过所述配置界面输入的配置信息,按照模型训练方案将更新的行为数据和更新的反馈数据生成更新的训练样本,并基于更新的训练样本来训练出更新的机器学习模型。
可选地,所述通过所述配置界面输入的配置信息涉及以下项之中的至少一项:用于更新机器学习模型的模型更新周期的配置、模型结果存储位置的配置、模型结果命名的配置以及任务启动校验规则的配置。
可选地,所述利用选择出的机器学习模型进行预测服务,包括:
提供进行关于利用机器学习模型提供预测服务的配置的配置界面;
根据通过所述配置界面输入的配置信息,利用选择出的机器学习模型进行在线预测服务和/或批量预测服务。
可选地,所述根据通过所述配置界面输入的配置信息涉及用于从机器学习模型之中选择线上机器学习模型的模型选取规则的配置和/或应用资源的配置。
可选地,所述用于从机器学习模型之中选择线上机器学习模型的模型选取规则涉及以下项之中的至少一项:
从模型结果存储位置中任意选择一个机器学习模型作为线上机器学习模型;或者,
根据脚本定义的模型选取策略自动选择一个机器学习模型作为线上机器学习模型;或者,
选择最新产生的机器学习模型作为线上机器学习模型;或者,
选择效果最好的机器学习模型作为线上机器学习模型。
可选地,所述利用选择出的机器学习模型进行批量预测服务,包括:
响应于设定的触发事件,利用选择出的机器学习模型进行批量预测服务。
可选地,所述设定的触发事件包括模型结果存储位置中出现新的机器学习模型时、设定的模型配置时间到时以及接收到用户选择的机器学习模型后之中的至少一项。
可选地,所述根据通过所述配置界面输入的配置信息,利用选择出的机器学习模型进行在线预测服务,包括:
向用户提供用于模拟请求预测服务的界面;
根据用户针对所述界面的输入来产生包括预测数据的预测服务请求;
响应于产生的所述预测服务请求,利用选择出的机器学习模型得到针对预测数据的预测结果,并将预测结果展示给用户。
可选地,通过所述配置界面输入的配置信息还涉及预测数据的自动回流的开关状态。
根据本发明的第二方面,还提供一种自动化建模装置,其包括:
数据获取模块,用于获取并保存作为初始模型训练基础的初始训练数据;
初始机器学习模型训练模块,用于基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型;
模型训练方案获取模块,用于基于训练出的所述初始机器学习模型,获得模型训练方案;
更新机器学习模型训练模块,用于基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型;以及,
预测服务提供模块,用于利用选择出的机器学习模型进行预测服务。
根据本发明的第三方面,还提供一种电子设备,其包括:
本发明第二方面所述的自动化建模装置;或者,
处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据本发明第一方面所述的方法。
根据本发明的第四方面,还提供一种计算机可读存储介质,其中,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本发明第一方面所述的方法。
根据本发明实施例的方法、装置及电子设备,其能够在训练出初始机器学习模型的基础上获得模型训练方案,以根据该模型训练方案得到更新的机器学习模型,从而能够实现机器学习模型的定期自动更新和线上机器学习模型的自动更新,并通过机器学习模型的自动化建模,使得数据收集、模型生产、模型应用等多个过程实现全流程循环作业,从而大大降低了机器学习建模的成本。
附图说明
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
图1是显示可用于实现本发明实施例的电子设备的硬件配置的原理框图;
图2示出了本发明实施例的自动化建模方法的流程图;
图3至图7示出了根据一个实施例的自动化建模方法的界面显示示意示例;
图8示出了本发明实施例的自动化建模装置的原理框图;
图9示出了本发明实施例的电子设备的一个例子的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明实施例的各个实施例和例子。
<硬件配置>
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的存储器1200用于存储指令,指令用于控制处理器1100进行操作以执行本发明实施例提供的任意一项自动化建模方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例>
在本实施例中,提供一种自动化建模方法,该自动化建模方法可以是由电子设备实施,该电子设备可以是如图1所示的电子设备1000。
根据图2所示,本实施例的自动化建模方法可以包括如下步骤S2100~S2500:
步骤S2100,获取并保存作为初始模型训练基础的初始训练数据。
初始训练数据包括行为数据和反馈数据之中的至少一项。
行为数据涉及训练数据的特征部分,可以按照多种导入方式来导入,例如但不限于是单次导入、定时导入以及流式导入;还可以是由用户按照不同路径来导入,例如但不限于是本地导入、数据库导入、FTP导入、HDFS导入、hive导入以及Kafka导入等。这里,最初导入的数据会限定整个数据的schema,后续再导入新的数据时,会进行schema核验,从而只接受同样schema内容的数据表单。当导入的行为数据落盘时,会转换成相应数据组的特定格式,作为数据组中的各个数据切片,反馈数据也是同样的机制。
在本发明的一个实施例中,该步骤S2100中获取并保存作为初始模型训练基础的初始训练数据可以进一步包括如下步骤S2110~S2150:
步骤S2110,分别提供导入行为数据或导入反馈数据的至少一个数据导入路径。
示例性地,在图3中,可通过四种导入方式来导入行为数据或反馈数据,即,将本地存储的数据导入电子设备1000、将数据库中的数据导入电子设备1000、通过HDFS定时导入数据以及通过Kafka流式导入数据。
可以理解的是,尽管对于行为数据和反馈数据,图3中示出了上述五种导入方式,但可根据具体应用情景而只启用其中的一种或多种,本实施例在此不做限定。
步骤S2120,在选择数据导入路径之后,上传行为数据表或反馈数据表。
本步骤S2120中,可以是在上传行为数据表或反馈数据表之后,自动识别行为数据表或反馈数据表中的数据字段类型。其中,自动识别数据字段类型是基于抽样实现的,例如可以是从数据中抽取500条来进行数据字段类型的识别。此外,本发明实施例还支持由用户手动调整和更改数据字段类型。
步骤S2130,提供对上传的数据表进行信息配置的配置界面。
通过配置界面输入的配置信息涉及对所上传的数据表的数据基本信息的配置和数据存储配置之中的至少一项。
以上对所上传的数据表的数据基本信息的配置涉及对所上传的数据表的数据编码格式的配置、导入的数据是否包含了字段名的配置以及数据预览操作等。
示例性地,在图3中,数据编码格式为UTF-8,文件首行为字段名的开关处于开启状态。此外,还可以对所导入的数据进行数据预览。
以上对所上传的数据表的数据存储配置涉及对所上传的数据表的数据结构的配置、对所上传的数据表的主键字段的配置以及对所上传的数据表进行异常数据处理的配置之中的至少一项。
本实施例中,对于类型异常的数据,例如一个标记为整型(int)类型的字段中出现了字符串(string)类型的数据,以及,对于列数不一致的数据,例如数据表的标准列数是20列,但是某一行包含了22列数据等异常数据均设置了异常数据处理方式,进而确保进行模型训练过程中的数据质量,该异常数据处理方式可以包括缺失值填充和无用数据清理之中的至少一项。其中,缺失值可以设置多种填充方式,例如但不限于是用空值(Null)、平均值、众数以及中位数等来进行缺失值填充。其中,无用数据可以为自动识别出的一些无用变量,该无用数据对于模型训练通常没有实际意义,因此能够自动识别并抛弃掉无用数据。此外,该异常数据处理方式还可以是抛弃异常行和引入失败,其中,抛弃异常行是指舍弃掉有问题的数据行,引入失败则是指遇到问题数据则放弃本次引入。
此外,以上对所上传的数据表的数据存储配置还涉及引入任务的高级参数配置。高级参数的设置可能会影响到数据引入是否成功以及引入的效率,例如可以是有默认的推荐设置,也支持自定义高级参数。
示例性地,在图3中,数据结构设置涉及数据表中每个字段的字段名、字段类型、标记类型以及字段是否使用等信息的配置。主键字段标记选择automl_id。类型异常行选择为抛掉异常行,列数异常行选择为抛掉异常行。高级参数设置为使用推荐配置。
步骤S2140,根据通过配置界面输入的配置信息,导入行为数据表中的行为数据或反馈数据表中的反馈数据。
在一个例子中,对于单个行为数据表和单个反馈数据表的情况,可以是在用户通过配置界面输入配置信息之后,在该配置界面中实施数据引入操作,电子设备1000响应于在该配置界面中实施的数据引入操作,进而导入行为数据表中的行为数据或反馈数据表中的反馈数据。
在一个例子中,对于多个行为数据表和多个反馈数据表的情况,可以是在用户通过配置界面输入配置信息之后,接续提供对所上传的多个行为数据表或多个反馈数据表进行拼接的配置界面,以供用户定义多个行为数据表或多个反馈数据表之间的关联关系。
该对所上传的多个行为数据表或多个反馈数据表进行拼接的配置界面和对上传的数据表进行信息配置的配置界面可以提供于同一界面,也可以是提供于不同界面,在此不做限定。
该例子中,例如可以是响应于训练初始机器学习模型的启动操作,分别获取通过配置界面输入的对所上传的多个行为数据表或所上传的多个反馈数据表进行拼接的拼接主键和关系类型之中的至少一项,以根据拼接主键和/或关系类型,分别拼接多个行为数据表或多个反馈数据表。
具体的,可以是由用户设定某个行为数据表或反馈数据表为主表,并据此进行数据表之间的关系定义,数据表之间的关系定义是通过实体联系(Entity RelationshipDiagram,E-R)图的方式来实现的。通过E-R图的定义,电子设备1000能够通过自动拼表方案来将多个行为数据表或多个反馈数据表拼接成一个大宽表,用于特征工程和模型训练。E-R图中需要定义的是行为数据表或反馈数据表之间的拼接主键和/或关系类型。该关系类型例如但不限于是1:1、1:N、N:1和N:M。
此外,数据表拼接不仅支持主表与副表连接,也支持副表与副表之间直接进行连接。
此外,在数据表拼接之前,例如可以是对行为数据表进行聚合操作,该聚合操作例如但不限于是计算多个行为数据表中的数据或多个反馈数据表中的数据之和、平均值、最大值、最小值以及方差等。又例如也可以是对多个行为数据表或多个反馈数据表中的时间类型字段进行滑窗操作。
步骤S2150,保存行为数据或反馈数据。
本步骤S2150中,针对首次导入的行为数据或反馈数据,以及,针对后续导入的行为数据或反馈数据这两种不同情况,提供两种不同的保存方式,在此,该步骤S2150中保存导入的行为数据或反馈数据可以进一步包括:
情况1:针对首次导入的行为数据或反馈数据执行结构提取,并将行为数据或反馈数据保存为行为数据组或反馈数据组下的首个数据切片。
情况2:针对后续导入的行为数据或反馈数据执行结构核验,并将核验通过的行为数据或反馈数据保存为行为数据组或反馈数据组下的后续数据切片。
可以理解的是,本发明实施例是以数据组为单位来管理数据,数据组中包含数据切片,数据切片中才是一条一条真实的数据。这里,在特定情况下,数据切片也可由单条数据记录构成,相应地,数据组可被视为等同于数据表。
在获取并保存作为初始模型训练基础的行为数据和反馈数据之后,进入:
步骤S2200,基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型。
初始训练样本可以是根据自动机器学习技术通过对收集的行为数据进行特征抽取而得到特征后结合该行为数据对应的反馈数据而产生的样本,这里,作为示例,可根据行为数据的各字段的数据类型和/或用于训练模型的算法将各字段自动声明为离散特征或连续特征。优选地,初始训练样本可以是根据自动机器学习技术通过对收集的行为数据进行特征抽取和特征组合而得到各种特征后结合该行为数据对应的反馈数据而产生的样本。
初始机器学习模型为在模型调研阶段根据自动机器学习技术,基于初始训练样本训练出的机器学习模型,这里,可在初始阶段利用该初始机器学习模型提供在线预测服务。
在本发明的一个实施例中,该步骤S2200中基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型可以进一步包括如下步骤S2210~S2230:
步骤S2210,提供进行关于模型训练的配置的配置界面。
步骤S2220,根据通过配置界面输入的配置信息,将保存的行为数据和反馈数据生成初始训练样本。
通过配置界面输入的配置信息涉及以下项之中的至少一项:行为数据选取规则的配置和反馈数据选取规则的配置、用于将行为数据拆分为训练数据和验证数据的数据拆分规则的配置、用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成规则的配置、模型训练停止策略的配置、用于选取特征的规则的配置以及用于按照预设调参方式进行参数调优的自动调参配置。
以上行为数据选取规则或反馈数据选取规则包括根据业务时间来选取作为初始模型训练基础的行为数据切片或反馈数据切片。该行为数据选取规则或反馈数据选取规则还包括选择行为数据组或反馈数据组下的全部切片,以及,按数量范围调取行为数据切片或反馈数据切片。
该根据业务时间来选取作为初始模型训练基础的行为数据切片或反馈数据切片可以进一步包括以下步骤S2221~S2223:
步骤S2221,响应于针对按照业务时间来选取行为数据切片或反馈数据切片的触发操作,获取作为数据分片基础的时间字段和分片粒度。
该分片粒度包括但不限于是小时或者天数。
本步骤S2221中,例如可以是由用户在导入行为数据或反馈数据时,根据时间字段和分片粒度进行数据分片,例如可以是设置时间字段为交易时间字段deal_time,分片粒度为小时,并在关于模型训练的配置的配置界面中选择按照业务时间选取行为数据切片或反馈数据切片,电子设备1000响应于用户按照业务时间来选取行为数据切片或反馈数据切片的触发操作,获取作为数据分片基础的交易时间字段deal_time,以及,分片粒度小时,这样在消费数据的时候就可以根据数据分片来实现快速选择,能够很大程度提升效率和减少性能损耗。
步骤S2222,提供选择时间字段和分片粒度下的数据切片的数据选择界面。
本步骤S2222中,继续上述步骤S2221中的示例,可以是在获取作为数据分片基础的交易时间字段deal_time,以及,分片粒度小时之后,具体选择交易时间是最近一个月的数据,即可以选取24*30=720个数据。
步骤S2223,根据通过数据选择界面选择的行为数据切片或反馈数据切片,作为初始模型训练基础的行为数据切片或反馈数据切片。
以上用于将行为数据拆分为训练数据和验证数据的数据拆分规则包括以下项之中的至少一项:
1)直接按照预先设置的拆分比例将行为数据拆分为训练数据和验证数据。
例如可以是设置训练数据和验证数据的拆分比例为4:1,当然还可以是其他数值,在此不做限定。
2)随机打乱行为数据,并按照预设的拆分比例将打乱后的行为数据拆分为训练数据和验证数据。
例如可以是在随机打乱行为数据之后,按照预设的拆分比例4:1将打乱后的行为数据拆分为训练数据和验证数据。
3)随机选取一个行为数据作为起始训练数据,以及,随机选取另外一个行为数据作为起始验证数据;以起始训练数据为起点,选取一定数量的行为数据作为训练数据;以及,以起始验证数据为起点,选取一定数量的行为数据作为验证数据。
4)获取作为分组基础的数据字段类型;根据数据字段类型将行为数据进行拆分,得到多组行为数据;按照预设的拆分比例,分别将每一组行为数据拆分为候选训练数据和候选验证数据;将多组行为数据对应的候选训练数据进行拼接,得到最终的训练数据;以及,将多组行为数据对应的候选验证数据进行拼接,得到最终的验证数据。
示例性地,例如数据字段类型为类别型,例如可以为性别(包括男女),电子设备1000自动识别出男女比例差距较大,则可以是根据性别将行为数据分为两组,并分别根据拆分比例将两组数据拆分为训练数据和验证数据,最后将对应的训练数据进行拼接,以及,将对应的验证数据进行拼接。
5)获取定义了数据拆分规则的脚本;根据脚本,自动将行为数据拆分为训练数据和验证数据。
该脚本例如可以是Sql语句。
以上用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成包括以下项之中的至少一项:
1)对数据字段类型进行特定的数值运算。
该数值运算例如可以是取对数、分桶以及线性转换等运算,也可以是对不同运算进行的组合运算,在此不做限定。
2)对数据字段类型中包括的多个时间字段进行运算。
在一个例子中,可以是将数据字段类型中包括的多个时间字段相减。
本例子中,例如可以是对时间字段取时间差,例如营销场景中营销的时间和最后下单交易的时间相减,就能够得到用户从被推荐商品到最后下单的时间间隔特征。
在一个例子中,可以是对数据字段类型中包括的多个时间字段执行聚合操作。
本例子中,例如时间字段通过时间窗口获得新聚合特征,比如对于交易流水表,可以根据交易时间做聚合操作,产生诸如最近一个月的交易次数、最近一个月的交易金额总和等新特征。
可以理解的是,还可以是对数据字段类型中包括的多个时间字段进行其他运算,在此不做限定。
3)对数据字段类型中包括的多个分类字段进行升维处理。
在一个例子中,分类字段可以通过concat方式进行升维处理,比如A字段是性别,包含男和女两个值,B字段是学历,包含初中、高中、本科、研究生及以上等值,通过concat操作可以将两个变量的string类型值直接拼接起来,生成诸如“男本科、女高中、男研究生及以上”这样的多种类型,这样原来的两个变量的6个特征维度就可能组合成8个特征,当排列组合增多时,维度增加会更为明显。
在一个例子中,分类字段可以通过独热编码(one-hot)方式来进行升维处理,具体操作方式如下:一个分类变量可能具备很多个值,如籍贯可能包含三十多个省份,独热编码是将其每个值都提取起来作为一个特征,转换为三十多个特征,每个特征的含义为“籍贯是否是北京、籍贯是否是安徽、籍贯是否是上海…”,从而提升特征维度。
4)直接将数据字段类型进行自动特征组合。
例如可以是将不同字段通过多种组合方式来形成若干新特征。
以上模型训练停止策略包括以下项之中的至少一项:
1)在利用至少一种模型训练算法训练出的机器学习模型的效果达到设定的效果时,停止训练。
本实施例中,可以是根据不同的应用场景设置模型AUC,例如对于二分类问题,设置模型AUC达到0.8为停止条件,则当且仅当产出AUC达到或超过0.8的模型时训练才会自动停止。例如可以是在利用LR算法、GBDT算法、HE-TreeNet算法或者NN算法之中的至少一种模型训练算法训练出的机器学习模型的AUC达到或超过0.8时,停止训练。
2)在利用至少一种模型训练算法训练机器学习模型时的训练时间达到设定的时间阈值时,停止训练。
该设定的时间阈值为训练的最大时长,可以是根据具体应用场景和仿真实验设置最大时长,例如可以是24小时,则当且仅当超过24小时时训练自动停止。例如可以是在利用LR算法、GBDT算法、HE-TreeNet算法或者NN算法之中的至少一种模型训练算法训练出的机器学习模型的训练时间超过24小时时,停止训练。
3)在利用至少一种模型训练算法训练机器学习模型时的训练轮数达到设定的训练轮数时,停止训练。
该设定的训练轮数为训练的最大轮数,机器学习模型获得一组超参数进行一次训练即为一轮,当一次模型训练同时选择了多种算法进行训练时,最大轮数指的是各个算法的训练总轮。
以上用于选取特征的规则的配置可以包括设置最大的特征选取数量,例如只选取top20的特征;也可以包括设置特征的衡量标准,例如但不限于设置特征重要性的最低值,对于树模型来说设置特征增益的最低值。
应当注意的是,通常通过特征选择的方式来选取对于业务预测目标影响更大的特征来进入到下一阶段的运算。特征选择是通过衡量单变量对于业务预测目标的重要性程度来看的,具体来说有以下两种方式,对于线性模型考察单特征对于业务预测目标的AUC值,AUC值越大则代表该特征越重要;对于树模型是将每一个单特征在每颗决策树上每次***获得的增益相加作为该特征的重要程度衡量指标,增益越大则表明特征越重要。此外,我们还支持自定义特征选取的严格程度,设置的标准越严格,则最后能进入模型训练的特征越少,运算速度和资源消耗有所降低但是效果可能略有损失。
此外,还支持用户自定义训练所用模型。例如对于二分类问题来说,包含但不限于LR算法、GBDT算法、DSN算法、随机森林二分类算法、朴素贝叶斯二分类算法、SVM算法以及线性分形分类器算法。对于回归类问题来说,包括但不限于GBRT算法、线性回归算法以及线性分形回归算法。对于多分类问题来说,包含但不限于逻辑回归多分类算法。以上算法均支持超参自动探索。在实际运行时,自动算法支持提前停止(early stop)策略,具体来说,当多种算法同时进行训练时,可以根据某种策略来提前判定训练数据更适合哪种算法,从而暂停不适合的算法的探索,把时间和资源都花费在更适合的算法上。提前停止策略同样适用于同一算法内的超参选择过程。
示例性地,在图4中,提供行为数据选取规则和反馈数据选取规则的配置入口,用户可以是选择“该数据组的全部切片”,也可以是“按数量范围调取切片”,以及,“按照业务时间范围调取切片”。在图4中,还提供用于将行为数据拆分为训练数据和验证数据的数据拆分规则的配置,用户可以是选择“按比例拆分”,“按规则拆分”,以及,“先排序后拆分”。在图4中,还提供模型训练停止策略的配置,用户可以是选择“手动停止”、“达到AUC”、“达到训练时长”以及“达到训练轮数”。在图4中,还提供选取特征的规则的配置,用户可以是选择“标准特征方案”,或者,“增强版特征方案”。在图4中,还提供具体预置算法的配置,用户可以预先设置“GBDT算法”和“DSN算法”。在图4中,还提供训练集所占比例的配置,用户可以是设置比例为“0.8”等。配置完以上信息,点击“开启训练”之后,即可开启一次自动的模型训练,在此过程中用户无需进行干预,只需等待运行完成即可。模型训练完成后会产出一个最优模型和其他相关信息。最优模型是根据问题类型例如二分类、回归类或者多分类问题等所对应的模型评估指标自动选取出来的效果最好的一个模型。其他相关信息例如但不限于是以下项之中的至少一项:
1)特征维度信息。显示针对各个算法所对应的构造的特征维度。
2)特征重要性信息。显示每个特征的特征重要性信息,用户界面上,用不同的颜色区分了原始特征和***自动生成的特征。
3)特征脚本信息。在用户界面上可以分算法展示***自动生成的特征脚本。特征脚本是用来生成模型训练所使用的样本表的。展示特征脚本有利于用户能够更好地理解自动算法的产出,便于解释和整理汇报。
4)模型训练的所有结果信息。***支持多种形式展示模型训练的所有训练结果。其一,支持通过折线图的方式来展示每种算法各轮训练的结果走向;其二,支持通过多坐标轴的方式来查看每种算法的各个超参数与模型效果的走向图;其三,支持通过列表形式展示每种算法的各个模型效果指标和各个超参数的取值。
步骤S2230,利用预置的至少一种模型训练算法,基于初始训练样本来训练出初始机器学习模型。
示例性地,图5中间部分示出的有向无环图(DAG图)示出了8个节点:“反馈数据”节点、“行为数据”节点、“数据拆分”节点、“特征工程”节点、“LR算法”节点、“GBDT算法”节点、“HE-TreeNet算法”节点和“NN算法”节点。应注意,图5示出了4种具体预置算法,但是这仅是示例性说明,本公开并不对预置算法的数量和具体算法进行限制。
参见图5,经由DAG图中的“数据拆分”节点处的相应配置,可将行为数据和反馈数据拼接后的训练数据拆分为训练集和验证集。此后,经由DAG图中的“特征工程”节点处的相应配置,可对训练集和验证集分别进行自动特征生成来抽取出至少一个特征以生成训练样本。对应于DAG图中的最下层的四个节点(即“LR算法”节点、“GBDT算法”节点、“HE-TreeNet算法”节点和“NN算法”节点)处,利用训练样本对这四个预置算法分别进行至少一轮训练,进而训练出相应的多个机器学习模型。
在基于保存的行为数据和反馈数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型之后,进入:
步骤S2300,基于训练出的初始机器学习模型,获得模型训练方案。
模型训练方案包括用于自动训练出初始机器学习模型的算法及其超参数。
该算法包括但不限于是以上LR算法、GBDT算法、HE-TreeNet算法以及NN算法等之中的任意一项。
该超参数可以包括模型超参数和训练超参数。
以上模型超参数是用于定义模型的超参数,例如但不限于是激活函数(例如恒等函数、S型函数以及截断斜波函数等)、隐含层节点数量、卷积层通道数量以及全连接层节点数量等。
以上训练超参数是用于定义模型训练过程的超参数,例如但不限于是学习率、批尺寸以及迭代次数等。
在基于训练出的初始机器学习模型,获得模型训练方案之后,进入:
步骤S2400,基于获得的模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型。
更新的训练数据包括更新的行为数据和更新的反馈数据之中的至少一项。
更新的行为数据和更新的反馈数据为最新输入的数据。
更新的训练样本是具有真实结论的数据样本,换句话说,更新的训练样本可以是按照模型训练方案中限定的与特征生成有关的处理过程,通过对收集的更新的行为数据进行特征抽取而得到特征后结合该更新的行为数据对应的反馈数据(作为标记,即,label)所产生的样本。优选地,更新的训练样本可以是通过对收集的更新的行为数据进行特征抽取和特征组合而得到各种特征后结合该更新的行为数据对应的反馈数据所产生的样本。
本实施例中,该利用更新的训练样本得到更新的机器学习模型可以看成是机器学习模型的自学习,该自学习任务既支持单次即时启动,也支持定时运行,定时运行又包含单次运行和循环运行两种模式。其中单次运行需要指定运行的时间,循环运行则可以支持指定运行时间间隔和通过编写crontab表达式两种方式来实现。
在本发明的一个实施例中,该步骤S2400中利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型可以进一步包括如下步骤S2410~S2420:
步骤S2410,提供进行关于模型自学习的配置的配置界面。
步骤S2420,根据通过配置界面输入的配置信息,按照模型训练方案将更新的行为数据和更新的反馈数据生成更新的训练样本,并基于更新的训练样本来训练出更新的机器学习模型。
通过配置界面输入的配置信息涉及以下项之中的至少一项:用于更新机器学习模型的模型更新周期的配置、模型结果存储位置的配置、模型结果命名的配置、任务超时时长以及任务启动校验规则的配置。
对于模型结果存储位置,例如机器学习模型可被存储在电子设备1000内置的模型中心中,这还可使得用户能够查看模型相关的解释和报告。
对于模型结果命名,支持设置模型结果的名称前缀,后续产生模型时便可在前缀上自动添加字符串的方式来进行命名,例如设置前缀为automl,则后续产生模型结果命名可以是automl20190807123。
以上任务启动校验规则中包含并且默认选中了电子设备1000中内置的校验规则,该规则包括但不限于是方案正确性(例如可以是核查方案是否符合规范,例如字段完整性等)、数据结构、数据切片数量、数据源连接以及集群模块状态。该校验背后实际上是跑的一个个检测任务,例如集群模块状态会去检查一下集群的状态,如果集群状态正常才能通过,如果状态异常则会校验失败。还可以自定义规则来设置自学习或批量预估任务启动的条件,比如数据切片数达到多少才运行等。自定义规则可以是通过编写Python脚本来实现的,用户可以在Python脚本中定义自学习任务何种情况下能够运行,以及,何种情况下不予运行等。
对于任务超时时长,例如可以是设定任务的最长运行时长,如果达到超时时长而任务尚未停止,则任务会自动暂停,从而能够避免某个任务长时间占用资源。
此外,电子设备1000还支持对自学习任务进行集中管理,例如可以进行运行时间、运行次数以及模型个数等信息的统计,还包括任务的异常信息统计。对于单条任务,支持查看任务运行详情以及日志信息。同时,对于运行失败的任务支持断点续跑。
在基于获得的模型训练方案,利用更新的行为数据和更新的反馈数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型之后,进入:
步骤S2500,利用选择出的机器学习模型进行预测服务。
在本发明的一个实施例中,该步骤S2500中利用选择出的机器学习模型进行预测服务可以进一步包括如下步骤S2510~S2520:
步骤S2510,提供进行关于利用机器学习模型提供预测服务的配置的配置界面。
步骤S2520,根据通过配置界面输入的配置信息,利用选择出的机器学习模型进行在线预测服务和/或批量预测服务。
示例性地,在图6中,分别提供与在线预测服务对应的“在线预估”按钮,以及与批量预测服务对应的“批量预估”按钮。
根据通过配置界面输入的配置信息涉及用于从机器学习模型之中选择线上机器学习模型的模型选取规则的配置和/或应用资源的配置。
以上用于从机器学习模型之中选择线上机器学习模型的模型选取规则涉及以下项之中的至少一项:
1)从模型结果存储位置中任意选择一个机器学习模型作为线上机器学习模型。
例如但不限于是选择初始机器学习模型或更新的机器学习模型作为线上机器学习模型。
2)根据脚本定义的模型选取策略自动选择一个机器学习模型作为线上机器学习模型。
该模型选取策略例如可以是采用Python语言、C语言以及Java语言编写的策略,还可以是其他语言,在此不做限定。
3)选择最新产生的机器学习模型作为线上机器学习模型。
4)选择效果最好的机器学习模型作为线上机器学习模型。
例如可以是选择具有最高AUC的机器学习模型作为线上机器学习模型。
以上应用资源的配置是指在应用所选择的线上机器学习模型时如何对***资源进行配置,例如,可以按照数据量结合规则来配置在线预估服务所要分配的资源,也可以根据请求的流量动态设置在线预估服务所要分配的资源,该资源例如但不限于包括服务的实例数、CPU、图像处理器(Graphics Processing Unit,GPU)、内存用量以及FPGA等。
对于批量预估,根据通过配置界面输入的配置信息还涉及以下之中的至少一项:任务启动校验规则的配置、预估结果存储位置的配置、预估结果的命名以及任务超时时长。此外,电子设备1000不仅支持对批量预估任务进行集中管理,例如可以进行运行时间、运行次数以及模型个数等信息的统计,还支持任务的异常信息统计,例如可以包括数据异常、集群异常、预估任务异常和预估结果异常,分类别进行统计异常数量。对于单条任务,还支持查看任务运行详情以及日志信息。同时,对于运行失败的任务支持断点续跑。
以上任务启动校验规则中包含并且默认选中了电子设备1000中内置的校验规则,该规则包括但不限于是方案正确性(例如可以是核查方案是否符合规范,例如字段完整性等)、数据结构、数据切片数量、数据源连接以及集群模块状态。还可以自定义规则来设置自学习或批量预估任务启动的条件,比如数据切片数达到多少才运行等。自定义规则可以是通过编写Python脚本来实现的,用户可以在Python脚本中定义自学习任务何种情况下能够运行,以及,何种情况下不予运行。
对于任务超时时长,例如可以是设定任务的最长运行时长,如果达到超时时长而任务尚未停止,则任务会自动暂停,从而能够避免某个任务长时间占用资源。
对于预估结果的命名,支持设置预估产生结果的名称前缀,后续产生预估结果时便可在前缀上自动添加字符串的方式来进行命名。
对于预估结果存储位置,例如预估结果可被存储在电子设备1000内置的数据组中,这还可指定和查看预估结果的存储位置。
在一个例子中,该步骤S2520利用选择出的机器学习模型进行批量预测服务可以进一步包括:响应于设定的触发事件,利用选择出的机器学习模型进行批量预测服务。
设定的触发事件包括模型结果存储位置中出现新的机器学习模型时、设定的模型配置时间到时以及接收到用户选择的机器学习模型后之中的至少一项。
在一个例子中,该步骤S2520中根据通过配置界面输入的配置信息,利用选择出的机器学习模型进行在线预测服务可以进一步包括如下步骤S2521~S2523:
步骤S2521,向用户提供用于模拟请求预测服务的界面。
步骤S2522,根据用户针对界面的输入来产生包括预测数据的预测服务请求。
步骤S2523,响应于产生的预测服务请求,利用选择出的机器学习模型得到针对预测数据的预测结果,并将预测结果展示给用户。
在线预估服务中,如图7所示,支持输入一条数据来进行预估测试,即需要用户手动填入每个数据表中各个字段的值,然后点击“测试”就可以模拟一条在线请求,并调用模型来进行预测,并将预测的结果展示给用户。
在本实施例中,通过配置界面输入的配置信息还涉及预测数据的自动回流的开关状态,在开关状态为开启的情况下,将包括在预测服务请求中的预测数据保存在相应的行为数据组,便可实现行为数据的自动回流,从而为自动机器学习过程的不断循环提供了必要的数据来源。
根据本发明实施例的方法,一方面,其能够在训练出初始机器学习模型的基础上获得模型训练方案,以根据该模型训练方案得到更新的机器学习模型,从而能够实现机器学习模型的定期自动更新和线上机器学习模型的自动更新;而且,其能够适应于不同的结构化数据场景,例如可以是支持二分类场景、多分类场景、回归类场景以及聚类问题场景。
另一方面,其通过机器学习模型的自动化建模,使得数据收集、模型生产、模型应用等多个过程实现全流程循环作业,而且,其可以通过自动化的方式来生成特征和选择特征,从而大大降低了机器学习建模的成本和时间,并且,其还提供了不同的特征处理策略,能够分别在非时序场景和时序场景中取得更佳的效果。
第三方面,用户仅需要完成数据引入、数据定义和选用模型等一些简单操作,就可以通过自动化能力产出机器学习模型,从而,大幅降低机器学习应用的落地门槛。
在一个实施例中,在获取作为初始模型训练基础的行为数据和反馈数据之后,该自动化建模方法还可以包括如下步骤S2210~S2220:
步骤S2210,分别统计属于相同数据字段类型的行为数据或反馈数据,获得统计结果。
本步骤S2210中,在获取作为初始模型训练基础的行为数据或反馈数据之后,可以分别对行为数据或反馈数据进行自动统计,例如可以是统计属于相同数据字段类型的行为数据或反馈数据的平均值、空值数量、空值占比、方差、标准差、最小值、最大值、下四分位数、中位数、上四分位数、唯一值数量、众数以及众数的频数等。
步骤S2220,根据数据字段类型,分别展示统计结果。
本步骤S2220中,可以根据数据字段类型的不同,按照不同的展示形式可视化展示统计结果,例如可以是根据数据字段类型,将统计结果按照扇形图、条形图以及散点图等进行展示。
<装置实施例>
在本实施例中,提供一种自动化建模装置8000,如图8所示,包括数据获取模块8100、初始机器学习模型训练模块8200、模型训练方案获取模块8300、更新机器学习模型训练模块8400以及成长模块8500。
该数据获取模块8100,用于获取并保存作为初始模型训练基础的初始训练数据。
该初始机器学习模型训练模块8200,用于基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型。
该模型训练方案获取模块8300,用于基于训练出的所述初始机器学习模型,获得模型训练方案。
该更新机器学习模型训练模块8400,用于基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型。
该预测服务提供模块8500,用于利用选择出的机器学习模型进行预测服务。
在一个实施例中,所述初始训练数据包括行为数据和反馈数据之中的至少一项,所述更新的训练数据包括更新的行为数据和更新的反馈数据之中的至少一项。
在一个实施例中,该数据获取模块8100,还用于分别提供导入行为数据或导入反馈数据的至少一个数据导入路径;在选择数据导入路径之后,上传行为数据表或反馈数据表;提供对上传的数据表进行信息配置的配置界面;根据通过所述配置界面输入的配置信息,导入行为数据表中的行为数据或反馈数据表中的反馈数据;保存行为数据或反馈数据。
在一个实施例中,该数据获取模块8100,还用于自动识别行为数据表或反馈数据表中的数据字段类型。
在一个实施例中,该通过所述信息配置界面输入的配置信息涉及对所上传的数据表的数据基本信息的配置和数据存储配置之中的至少一项。
在一个实施例中,该对所上传的数据表的数据存储配置涉及对所上传的数据表的数据结构的配置、对所上传的数据表的主键字段的配置以及对所上传的数据表进行异常数据处理的配置之中的至少一项。
其中,对所上传的数据表进行异常数据处理包括缺失值填充和无用数据清理之中的至少一项。
在一个实施例中,该数据获取模块8100,还用于分别提供对所上传的多个行为数据表或多个反馈数据表进行拼接的配置界面;响应于训练初始机器学习模型的启动操作,分别获取通过所述配置界面输入的对所上传的多个行为数据表或所上传的多个反馈数据表进行拼接的拼接主键和关系类型之中的至少一项。
根据所述拼接主键和/或关系类型,分别拼接多个行为数据表或多个反馈数据表。
在一个实施例中,该数据获取模块8100,还用于分别统计属于相同数据字段类型的行为数据或反馈数据,获得统计结果;根据所述数据字段类型,分别展示所述统计结果。
在一个实施例中,该初始机器学习模型训练模块8200,还用于提供进行关于模型训练的配置的配置界面;根据通过所述配置界面输入的配置信息,将保存的行为数据和反馈数据生成初始训练样本;利用预置的至少一种模型训练算法,基于初始训练样本来训练出初始机器学习模型。
在一个实施例中,通过所述配置界面输入的配置信息涉及以下项之中的至少一项:行为数据选取规则的配置和反馈数据选取规则的配置、用于将行为数据拆分为训练数据和验证数据的数据拆分规则的配置、用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成规则的配置、模型训练停止策略的配置、用于选取特征的规则的配置以及用于按照预设调参方式进行参数调优的自动调参配置。
其中,所述行为数据选取规则或所述反馈数据选取规则包括根据业务时间来选取作为初始模型训练基础的行为数据切片或反馈数据切片。
在一个实施例中,该初始机器学习模块训练模块8200,还用于响应于针对按照业务时间来选取行为数据切片或反馈数据切片的触发操作,获取作为数据分片基础的时间字段和分片粒度;提供选择所述时间字段和所述分片粒度下的数据切片的数据选择界面;根据通过所述数据选择界面选择的行为数据切片或反馈数据切片,作为初始模型训练基础的行为数据切片或反馈数据切片。
在一个实施例中,所述用于将行为数据拆分为训练数据和验证数据的数据拆分规则包括以下项之中的至少一项:
直接按照预先设置的拆分比例将行为数据拆分为训练数据和验证数据;或者,
随机打乱行为数据;
按照预设的拆分比例将打乱后的行为数据拆分为训练数据和验证数据;或者,
随机选取一个行为数据作为起始训练数据,以及,随机选取另外一个行为数据作为起始验证数据;
以所述起始训练数据为起点,选取一定数量的行为数据作为训练数据;以及,以所述起始验证数据为起点,选取一定数量的行为数据作为验证数据;或者,
获取作为分组基础的数据字段类型;
根据所述数据字段类型将行为数据进行拆分,得到多组行为数据;
按照预设的拆分比例,分别将每一组行为数据拆分为候选训练数据和候选验证数据;
将多组行为数据对应的候选训练数据进行拼接,得到最终的训练数据;以及,将多组行为数据对应的候选验证数据进行拼接,得到最终的验证数据;或者,
获取定义了数据拆分规则的脚本;
根据所述脚本,自动将行为数据拆分为训练数据和验证数据。
在一个实施例中,所述用于按照数据字段类型对训练数据和验证数据进行特征抽取的自动特征生成包括以下项之中的至少一项:
对数据字段类型进行特定的数值运算;或者,
对数据字段类型中包括的多个时间字段进行运算;或者,
对数据字段类型中包括的多个分类字段进行升维处理;或者,
直接将数据字段类型进行自动特征组合。
在一个实施例中,所述模型训练停止策略包括以下项之中的至少一项:
在利用至少一种模型训练算法训练出的机器学习模型的效果达到设定的效果时,停止训练;或者,
在利用至少一种模型训练算法训练机器学习模型时的训练时间达到设定的时间阈值时,停止训练;或者,
在利用至少一种模型训练算法训练机器学习模型时的训练轮数达到设定的训练轮数时,停止训练。
在一个实施例中,所述模型训练方案包括用于自动训练出所述初始机器学习模型的算法及其超参数。
在一个实施例中,该更新机器学习模型训练模块8400,还用于提供进行关于模型自学习的配置的配置界面;根据通过所述配置界面输入的配置信息,按照模型训练方案将更新的行为数据和更新的反馈数据生成更新的训练样本,并基于更新的训练样本来训练出更新的机器学习模型。
在一个实施例中,所述通过所述配置界面输入的配置信息涉及以下项之中的至少一项:用于更新机器学习模型的模型更新周期的配置、模型结果存储位置的配置、模型结果命名的配置以及任务启动校验规则的配置。
在一个实施例中,该预测服务提供模块8500,还用于提供进行关于利用机器学习模型提供预测服务的配置的配置界面;根据通过所述配置界面输入的配置信息,利用选择出的机器学习模型进行在线预测服务和/或批量预测服务。
在一个实施例中,所述根据通过所述配置界面输入的配置信息涉及用于从机器学习模型之中选择线上机器学习模型的模型选取规则的配置和/或应用资源的配置。
在一个实施例中,所述用于从机器学习模型之中选择线上机器学习模型的模型选取规则涉及以下项之中的至少一项:
从模型结果存储位置中任意选择一个机器学习模型作为线上机器学习模型;或者,
根据脚本定义的模型选取策略自动选择一个机器学习模型作为线上机器学习模型;或者,
选择最新产生的机器学习模型作为线上机器学习模型;或者,
选择效果最好的机器学习模型作为线上机器学习模型。
在一个实施例中,该预测服务提供模块8500,还用于响应于设定的触发事件,利用选择出的机器学习模型进行批量预测服务。
在一个实施例中,所述设定的触发事件包括模型结果存储位置中出现新的机器学习模型时、设定的模型配置时间到时以及接收到用户选择的机器学习模型后之中的至少一项。
在一个实施例中,预测服务提供模块8500,还用于向用户提供用于模拟请求预测服务的界面;根据用户针对所述界面的输入来产生包括预测数据的预测服务请求;响应于产生的所述预测服务请求,利用选择出的机器学习模型得到针对预测数据的预测结果,并将预测结果展示给用户。
在一个实施例中,通过所述配置界面输入的配置信息还涉及预测数据的自动回流的开关状态。
<电子设备>
在本实施例中,还提供一种电子设备9000。该电子设备9000可以是图1所示的电子设备1000。
在一方面,该电子设备9000可以包括前述的自动化建模装置8000,用于实施本发明任意实施例的自动化建模方法。
在另一方面,如图9所示,电子设备9000还可以包括处理器9100和存储器9200,该存储器9200用于存储可执行的指令;该处理器9100用于根据指令的控制运行电子设备9000执行根据本发明任意实施例的自动化建模方法。
在本实施例中,该电子设备9000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等设备。
<计算机可读存储介质>
在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本发明任意实施例的自动化建模方法。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种自动化建模方法,包括:
获取并保存作为初始模型训练基础的初始训练数据;
基于保存的初始训练数据生成初始训练样本,并利用所述初始训练样本训练出初始机器学习模型;
基于训练出的所述初始机器学习模型,获得模型训练方案;
基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型;以及,
利用选择出的机器学习模型进行预测服务。
2.根据权利要求1所述的方法,其中,所述初始训练数据包括行为数据和反馈数据之中的至少一项,所述更新的训练数据包括更新的行为数据和更新的反馈数据之中的至少一项。
3.根据权利要求2所述的方法,其中,所述获取并保存作为初始模型训练基础的初始训练数据,包括:
分别提供导入行为数据或导入反馈数据的至少一个数据导入路径;
在选择数据导入路径之后,上传行为数据表或反馈数据表;
提供对上传的数据表进行信息配置的配置界面;
根据通过所述配置界面输入的配置信息,导入行为数据表中的行为数据或反馈数据表中的反馈数据;
保存行为数据或反馈数据。
4.根据权利要求3所述的方法,其中,所述方法在上传行为数据表或反馈数据表之后,还包括:
自动识别行为数据表或反馈数据表中的数据字段类型。
5.根据权利要求3所述的方法,其中,所述通过所述信息配置界面输入的配置信息涉及对所上传的数据表的数据基本信息的配置和数据存储配置之中的至少一项。
6.根据权利要求5所述的方法,其中,对所上传的数据表的数据存储配置涉及对所上传的数据表的数据结构的配置、对所上传的数据表的主键字段的配置以及对所上传的数据表进行异常数据处理的配置之中的至少一项。
其中,对所上传的数据表进行异常数据处理包括缺失值填充和无用数据清理之中的至少一项。
7.根据权利要求3所述的方法,其中,所述方法还包括:
分别提供对所上传的多个行为数据表或多个反馈数据表进行拼接的配置界面;
响应于训练初始机器学习模型的启动操作,分别获取通过所述配置界面输入的对所上传的多个行为数据表或所上传的多个反馈数据表进行拼接的拼接主键和关系类型之中的至少一项;
根据所述拼接主键和/或关系类型,分别拼接多个行为数据表或多个反馈数据表。
8.一种自动化建模装置,包括:
数据获取模块,用于获取并保存作为初始模型训练基础的初始训练数据;
初始机器学习模型训练模块,用于基于保存的初始训练数据生成初始训练样本,并利用初始训练样本训练出初始机器学习模型;
模型训练方案获取模块,用于基于训练出的所述初始机器学习模型,获得模型训练方案;
更新机器学习模型训练模块,用于基于获得的所述模型训练方案,利用更新的训练数据得到更新的训练样本,并利用更新的训练样本得到更新的机器学习模型;以及,
预测服务提供模块,用于利用选择出的机器学习模型进行预测服务。
9.一种电子设备,其中,包括:
如权利要求8所述的自动化建模装置;或者,
处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其中,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251943.0A CN111008707A (zh) | 2019-12-09 | 2019-12-09 | 自动化建模方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251943.0A CN111008707A (zh) | 2019-12-09 | 2019-12-09 | 自动化建模方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008707A true CN111008707A (zh) | 2020-04-14 |
Family
ID=70114134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911251943.0A Pending CN111008707A (zh) | 2019-12-09 | 2019-12-09 | 自动化建模方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008707A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523676A (zh) * | 2020-04-17 | 2020-08-11 | 第四范式(北京)技术有限公司 | 辅助机器学习模型上线的方法及装置 |
CN111611240A (zh) * | 2020-04-17 | 2020-09-01 | 第四范式(北京)技术有限公司 | 执行自动机器学习过程的方法、装置及设备 |
CN111815066A (zh) * | 2020-07-21 | 2020-10-23 | 上海数鸣人工智能科技有限公司 | 一种基于梯度提升决策树的用户点击预测方法 |
CN112036492A (zh) * | 2020-09-01 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 样本集处理方法、装置、设备及存储介质 |
CN112149838A (zh) * | 2020-09-03 | 2020-12-29 | 第四范式(北京)技术有限公司 | 实现自动构建模型的方法、装置、电子设备和存储介质 |
CN113673707A (zh) * | 2020-05-15 | 2021-11-19 | 第四范式(北京)技术有限公司 | 一种应用机器学习的方法、装置、电子设备及存储介质 |
CN113971495A (zh) * | 2021-11-02 | 2022-01-25 | 中国银行股份有限公司 | 日间批量处理方法及装置 |
WO2022063274A1 (zh) * | 2020-09-27 | 2022-03-31 | 中兴通讯股份有限公司 | 一种数据标注方法、***和电子设备 |
CN116933896A (zh) * | 2023-09-15 | 2023-10-24 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
-
2019
- 2019-12-09 CN CN201911251943.0A patent/CN111008707A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611240A (zh) * | 2020-04-17 | 2020-09-01 | 第四范式(北京)技术有限公司 | 执行自动机器学习过程的方法、装置及设备 |
CN111523676A (zh) * | 2020-04-17 | 2020-08-11 | 第四范式(北京)技术有限公司 | 辅助机器学习模型上线的方法及装置 |
CN111523676B (zh) * | 2020-04-17 | 2024-04-12 | 第四范式(北京)技术有限公司 | 辅助机器学习模型上线的方法及装置 |
WO2021208685A1 (zh) * | 2020-04-17 | 2021-10-21 | 第四范式(北京)技术有限公司 | 执行自动机器学习过程的方法、装置及设备 |
CN113673707A (zh) * | 2020-05-15 | 2021-11-19 | 第四范式(北京)技术有限公司 | 一种应用机器学习的方法、装置、电子设备及存储介质 |
CN111815066A (zh) * | 2020-07-21 | 2020-10-23 | 上海数鸣人工智能科技有限公司 | 一种基于梯度提升决策树的用户点击预测方法 |
CN111815066B (zh) * | 2020-07-21 | 2021-03-26 | 上海数鸣人工智能科技有限公司 | 一种基于梯度提升决策树的用户点击预测方法 |
CN112036492A (zh) * | 2020-09-01 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 样本集处理方法、装置、设备及存储介质 |
CN112036492B (zh) * | 2020-09-01 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 样本集处理方法、装置、设备及存储介质 |
CN112149838A (zh) * | 2020-09-03 | 2020-12-29 | 第四范式(北京)技术有限公司 | 实现自动构建模型的方法、装置、电子设备和存储介质 |
WO2022063274A1 (zh) * | 2020-09-27 | 2022-03-31 | 中兴通讯股份有限公司 | 一种数据标注方法、***和电子设备 |
CN113971495A (zh) * | 2021-11-02 | 2022-01-25 | 中国银行股份有限公司 | 日间批量处理方法及装置 |
CN116933896A (zh) * | 2023-09-15 | 2023-10-24 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
CN116933896B (zh) * | 2023-09-15 | 2023-12-15 | 上海燧原智能科技有限公司 | 一种超参数确定及语义转换方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008707A (zh) | 自动化建模方法、装置及电子设备 | |
US11294754B2 (en) | System and method for contextual event sequence analysis | |
CN110570217B (zh) | 作弊检测的方法及装置 | |
CN109299344A (zh) | 排序模型的生成方法、搜索结果的排序方法、装置及设备 | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US11385898B2 (en) | Task orchestration method for data processing, orchestrator, device and readable storage medium | |
CN111611240A (zh) | 执行自动机器学习过程的方法、装置及设备 | |
CN111460384A (zh) | 策略的评估方法、装置和设备 | |
US11275994B2 (en) | Unstructured key definitions for optimal performance | |
CN111723515A (zh) | 一种运行算子的方法、装置及*** | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
CN111782317A (zh) | 页面的测试方法和装置、存储介质和电子装置 | |
CN109542737A (zh) | 平台告警处理方法、装置、电子装置及存储介质 | |
CN111405030A (zh) | 一种消息推送方法、装置、电子设备和存储介质 | |
CN110880128A (zh) | 异常信息挖掘方法、装置、***及终端设备 | |
CN113569162A (zh) | 数据处理方法、装置、设备及存储介质 | |
US9904744B2 (en) | Probabilistic simulation scenario design by using multiple conditional and nested probability distribution input functions | |
US20220253307A1 (en) | Miniprogram classification method, apparatus, and device, and computer-readable storage medium | |
CN112115313A (zh) | 正则表达式的生成、数据提取方法、装置、设备及介质 | |
US20240202057A1 (en) | Methods and systems for determining stopping point | |
CN107430590B (zh) | 用于数据比较的***和方法 | |
CN113934894A (zh) | 基于指标树的数据显示方法、终端设备 | |
CN114995875A (zh) | 页面组件配置方法、装置、电子设备及存储介质 | |
CN111274480B (zh) | 用于内容推荐的特征组合方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |