sklearn2pmml使用教程

2025-07-10 14:10:31

1、二、实现过程 思路:通过 DataFrameMappe r创建 mapper –> 通过 PMMLpipeline 创建 pipeline –> sklearn2pmml 转成 PMML DataFrameMapper 可支持 sklearn 中自带的数据处理函数,自定义函数需要使用 FunctionTransformer 来转换,自定义函数有如下几种方式: 1)数组函数,对整列做变换; 2)ufunc函数,先写针对某一元素的函数,再通过 np.frompyfunc 或 np.vectorize 转成可以作用在整列上的函数。

sklearn2pmml使用教程

3、三、 遇到问题 mapper.fit_transform,pipeline.fit,都可以实现,在执行最后一步sklearn2pmml的时候报错如下: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb0 in position 0: invalid start byte 四、 尝试方案 1. 文件编码格式: 编码报错通常是在读入文件时容易出的问题,搜到的解决方案如下,但Python3里sys已经没有setdefaultencoding。 import sys from imp import reload reload(sys) sys.setdefaultencoding('gbk') 1 2 3 4 尝试修改没有效果,回到源码中发现该报错已被处理过,真实报错并非是编码问题: if debug or retcode: if(len(output) > 0): print("Standard output:\n{0}".format(output.decode("UTF-8"))) else: print("Standard output is empty") if(len(error) > 0): print("Standard error:\n{0}".format(error.decode("UTF-8"))) else: print("Standard error is empty") 官网提供的例子是numpy的函数,在 FunctionTransformer里面的自定义函数替换成np.abs,可以顺利导出,问题应该是在自定义函数上。

sklearn2pmml使用教程

5、将pipeline转化成pickle文件,再转成PMML,报错和方法2中一样,本质上还是同一方法。 五、感想 PMML文件应该是可以包含数据处理和模型打分两部分的,通过PMML文件上线较为灵活,但是使用Python较多的还是机器学习方法,转成PMML文件时对sklearn内部的函数较为友好。

sklearn2pmml使用教程
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢