在默认条件下使用sklearn2pmml将决策树转换为PMML

问题描述

我正在使用python中的sklearn2pmml将使用scikit-learn库训练的决策树转换为PMML文件我有一个包含4列的数据框,如下所示

X1  | X2  |  A1  |  Y 
0.2.  0.3   alpha.  0
0.3.  0.1.  alpha   0
0.9   0.2.  beta    1

,依此类推。这里的Y是二进制标签X1X2是数字输入。 A1一个字符串列。我已经在Y,X1,X2上训练了决策树,并且能够将其写为PMML文件

但是我需要在PMML中引入一个认条件,如果变量A1 ='beta'则返回X1本身作为得分,否则请使用scikit学习决策树获取得分

是否可以使用sklearn2PMML或通过在PMML文件中手动创建节点来做到这一点?

这是一个用于生成决策树和pmml的工作代码

import pandas as pd 
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn2pmml import PMMLPipeline
from sklearn2pmml import sklearn2pmml

df = pd.DataFrame(np.random.randint(0,100,size=(15,2)),columns=['X1','X2']
df['Y'] = np.random.randint(0,2,size=15)
df['A1'] = 'alpha'
df['A1'][0:50]='beta'
pipeline = PMMLPipeline([("classifier",DecisionTreeClassifier(max_depth=2,random_state=42))
])
pipeline.fit(df[['X1','X2']],df['Y']
sklearn2pmml(pipeline,"SimpleDecisionTree.pmml",with_repr = True)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)