在机器学习的生产环境中,我们经常需要将多服务器托管网个模型的预测结果进行融合,以便提高预测的准确性。这个过程通常涉及到多个模型子分的简单逻辑回归融合。虽然离线训练时我们可以直接使用sklearn
的逻辑回归进行训练和调参,但在生产环境中,模型的上线往往需要使用PMML(Predictive Model Markup Language)格式。PMML不仅能够在一个文件中完成多个模型的融合,还可以输出融合后的Sigmoid打分,极大地方便了生产环境中的模型管理和使用。
使用PMML的Segmentation功能进行模型融合
通过阅读PMML文档,我们发现可以利用其Segmentation
功能来服务器托管网实现模型的融合。在PMML文件的最外层使用Segmentation
并指定multipleModelMethod
为”SelectAll”,这样就可以在最终输出中包含所有内层Segment
的输出。这一功能为模型融合提供了便利。
处理单模型分数缺失问题
在实际应用中,我们可能会遇到单个模型分数缺失或等于某个固定常数(例如-999,代表缺失)的情况。这时,我们希望将其视为融合失败,即不进行融合处理,直接返回一个特定的融合失败值(如-999)。为了实现这一逻辑,我们可以使用Segmentation
来包裹整个回归过程,设置multipleModelMethod
为selectFirst
。这样,当内部的第一个Segment
检测到某个模型子分等于-999时,就会选择这条路径,并最终输出-999作为融合失败的标志。
...
将最终分数转换为概率值
为了将回归后的预测值通过Sigmoid函数转换为概率值,从而和线上使用的分数保持一致的量纲,我们可以在有效的回归Segment
中使用normalizationMethod='logit'
。这样,输出的分数就会经过Sigmoid转换,转化为概率值。
...
为最终输出重新命名
为了方便调用和解析PMML文件,我们需要在文件的最后为输出统一命名。通过指定OutputField
的name
和对应的segmentId
,我们可以清晰地标识每个输出值的来源,使得输出结果更加直观易懂。
通过以上步骤和优化技巧,我们可以高效地使用PMML实现多个模型的融合,处理单模型分数缺失问题,并将最终分数转换为概率值,同时为输出结果重新命名,以便于调用和解析。这样不仅提升了模型融合的准确性,也增强了生产环境中模型管理的便利性。
参考资料
- PMML 4.3 Regression
- PMML 4.3 MultipleModels
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 教不会你算我输系列 | 手把手教你HarmonyOS应用开发
作者 |小狮子 导读 鸿蒙系统(HarmonyOS)是华为推出的一款面向万物互联的全场景分布式操作系统。鸿蒙支持手机、平板、智能穿戴、智慧屏和车机等多种终端设备,发展史如下: 全文13098字,预计阅读时间34分钟。 01 HarmonyOS开发简介 1.1 …