System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及机器学习,具体为一种pmml机器学习模型统一预测的方法。
技术介绍
1、预言模型标记语言是一种利用xml描述和存储数据挖掘模型的标准语言,它依托xml本身特有的数据分层思想和应用模式,实现了数据挖掘中模型的可移植性。
2、pmml的意义在于:“pmml帮助用户简便、快捷地定义预测模型并且在不同厂商的应用系统之间共享这些模型;pmml为应用系统提供了一种独立于厂商的方法来定义预测模型,所以在不同应用系统之间交换模型时,就不存在特性问题和不兼容问题;pmml允许用户在某厂商应用系统中所开发出的模型,使用其他厂商的应用系统对其进行可视化、分析、评价甚至是直接使用。
3、传统pmml机器学习一个模型部署需要定制一套代码,pmml中不同算法返回结果结构不一样,且不能直接进行网络传输。
技术实现思路
1、针对现有技术的不足,本专利技术提供了一种pmml机器学习模型统一预测的方法,解决了传统pmml机器学习一个模型部署需要定制一套代码,pmml中不同算法返回结果结构不一样,且不能直接进行网络传输的问题。
2、为实现以上目的,本专利技术通过以下技术方案予以实现:一种pmml机器学习模型统一预测的方法,包括以下步骤:
3、s1、预测接口调用方输入模型文件id、预测数据集合;
4、s2、通过模型文件id从全局缓存变量mapevaluators中获取评估器;
5、s3、判断评估器是否存在,不存在则通过模型文件id从服务
6、s4、判断服务器本地模型文件是否存在,不存在则通过模型文件id从分布式文件存储下载模型到服务器本地;
7、s5、加载模型文件为评估器,将评估器加入全局缓存变量mapevaluators中,创建临时变量预测结果集合;
8、s6、循环预测数据集合,使用评估器和单条预测数据获得单个预测结果,将单个预测结果加入预测结果集合。
9、优选的,所述步骤s5中,通过pmml-evaluator库将文件输入流加载为评估器对象。
10、优选的,所述步骤s6中,将单个预测结果加入预测结果集合后,其预测方法包括以下步骤:
11、a、输入评估器和单个预测数据,创建结果对象result,将预测数据转json后设置到结果对象;
12、b、从评估器中获取输入特征集合;
13、c、根据模型输入特征校验传入的预测数据,并将校验成功的数据转为pmml输入格式;
14、d、判断校验是否成功,如果不成功将错误信息写入结果对象,返回结果对象,如果成功则从评估器中获取模型对象;
15、e、通过模型对象类型判断出算法类型;
16、f、判断模型对象是否为关联规则,如果为关联规则,则将预测数据中拼接字符串转为项集,使用评估器对预测数据进行推理预测获得关联规则结果,处理关联规则结果为统一预测结果对象;
17、g、判断模型对象是否为关联规则,如果不为关联规则则使用评估器对预测数据进行推理预测获得所有分配目标结果,遍历分配目标结果转为统一预测结果对象;
18、优选的,所述步骤a中,预测数据类型为map<string,object>转为json字符串,设置到result的datajson,结果中包含原始数据,便于记录历史预测数据及其结果。
19、优选的,所述步骤b中,调用evaluator对象方法getinputfields获取输入特征信息集合。
20、优选的,所述步骤c中,将校验成功的数据转为pmml输入格式方法包括以下步骤:
21、a、新建pmml预测参数;
22、b、遍历输入特征信息集合获取单个特征名称和数据类型;
23、c、通过特征名称作为键从预测数据中获取特征值;
24、d、判断如果特征值为空,则校验失败;
25、e、将特征值由object转为字符串;
26、f、如果特征值不为空则校验数据类型:
27、数据类型为integer则转换特征值由object为整数,出现异常则校验失败;
28、数据类型为double则转换特征值由object为浮点数,出现异常则校验失败;
29、g、步骤f中校验成功则将特征名称转为pmml特征名称,特征名称由string转为fieldname对象;
30、h、将转换后的特征名称和特征值加入到pmml预测参数。
31、本专利技术提供了一种pmml机器学习模型统一预测的方法,与现有技术相比具备以下有益效果:
32、该pmml机器学习模型统一预测的方法,通过统一的接口调用pmml模型预测数据,并返回统一结果结构。
本文档来自技高网...【技术保护点】
1.一种pmml机器学习模型统一预测的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤S5中,通过pmml-evaluator库将文件输入流加载为评估器对象。
3.根据权利要求1所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤S6中,将单个预测结果加入预测结果集合后,其预测方法包括以下步骤:
4.根据权利要求3所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤A中,预测数据类型为Map<String,Object>转为json字符串,设置到Result的dataJson,结果中包含原始数据,便于记录历史预测数据及其结果。
5.根据权利要求3所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤B中,调用Evaluator对象方法getInputFields获取输入特征信息集合。
6.根据权利要求3所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤C中,将校验成功的数据转为pmml
...【技术特征摘要】
1.一种pmml机器学习模型统一预测的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤s5中,通过pmml-evaluator库将文件输入流加载为评估器对象。
3.根据权利要求1所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤s6中,将单个预测结果加入预测结果集合后,其预测方法包括以下步骤:
4.根据权利要求3所述的一种pmml机器学习模型统一预测的方法,其特征在于:所述步骤a中,预...
【专利技术属性】
技术研发人员:苏鑫,李明,
申请(专利权)人:四川泰予医疗科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。