python模型转PMML

关于python模型的部署,目前有以下几种方式

  • flask等python为服务框架,无需跨语言
  • xgb4j,lgb4j等Java包,需跨语言,但只支持xgb/lgb
  • PMML,跨语言,支持所有sklearn接口的模型

综上所述,当遇到跨语言部署时,PMML是个万金油方式,可以将所有sklearn接口的模型转换为PMML文件,并用JAVA/SCALA相关的包进行解析,然而经过一番调研,网上关于python如何转为PMML的信息却极为有限,故在此总结。

1、DataFrameMapper

  • 目前DataFrameMapper支持sklearn.preprocessing中的若干类,如MinMaxScaler()、OneHotEncoder()等
  • DataFrameMapper支持自定义函数,可使用FunctionTransformer(),将自定义函数转换为类似MinMaxScaler()类的格式
  • DataFrameMapper支持单列或多列级联变换
  • sklearn.preprocessing中的函数输入为numpy.ndarray
    mapper = DataFrameMapper([
              (["Sepal.Length"],FunctionTransformer(np.abs)),
              (["Sepal.Width"],[MinMaxScaler(), Imputer()]),
              (["Petal.Length"],None),
              (["Petal.Width"],OneHotEncoder()),
            (['Petal.Length', 'Petal.Width'], [MinMaxScaler(),StandardScaler
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值