Xgboost存储为pmml以及在java中调用

该博客介绍了如何将Xgboost模型转换为PMML格式,利用sklearn2pmml包将模型保存,并展示了如何在Java代码中读取和使用这个PMML模型进行预测。
摘要由CSDN通过智能技术生成

首先,我们构建一个xgboost模型并存储为PMML形式,使用到的包是sklearn2pmml,可以将sklearn中的模型保存为PMML的形式

import pandas as pd
from xgboost.sklearn import XGBClassifier
from sklearn2pmml import PMMLPipeline
from sklearn_pandas import DataFrameMapper
from sklearn2pmml import sklearn2pmml


df = pd.read_excel('/Users/huoshirui/Desktop/xyworking/pythonData/dataClean/kexin_data_huoshirui.xlsx')
df = df.drop(columns=['mbl_no'])

clf = XGBClassifier(
 learning_rate=0.01,
 n_estimators=1000,
 max_depth=4,
 min_child_weight=1,
 gamma=0.0001,
 subsample=0.3,
 colsample_bytree=0.8,
 colsample_bylevel=0.7,
 objective='binary:logistic',
 nthread=-1,
 scale_pos_weight=1,
 seed=666)

mapper = DataFrameMapper([
    (['kx_output_riskscore'], None),
    (['kx_new_risk_0'], None),
    (['kx_new_risk_1'], None),
    (['kx_new_risk_2'], None),
    (['kx_new_risk_3'], None),
    (['kx_new_risk_4'], None),
    (['kx_new_risk_5'], None),
    (['kx_new_risk_6'], None),
    (['kx_new_risk_7'], None),
    (['kx_new_risk_8'], None),
    (['kx_new_risk_11'], None),
    (['kx_new_risk_12'], None),
    (['kx_new_risk_13'], None),
    (['kx_new_risk_14'], None),
    (['kx_new_risk_15'], None),
    (['kx_new_risk_sumList'], None),
    (['kx_new_is_riskList'], None)
])


pipeline = PMMLPipeline([('mapper', mapper), ("classifier", clf)])

pipeline.fit(df[df.columns.difference(["target"])],df["target"])
# 存储为PMML形式
sklearn2pmml(pipeline,"/Users/huoshirui/Desktop/test/PMML/xgboost.pmml",with_repr = True)

然后我们可以在当前文件夹中得到xgboost.pm

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值