问题描述
我正在使用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
是二进制标签。X1
,X2
是数字输入。 A1
是一个字符串列。我已经在Y,X1,X2
上训练了决策树,并且能够将其写为PMML文件。
但是我需要在PMML中引入一个默认条件,如果变量A1 ='beta'则返回X1本身作为得分,否则请使用scikit学习决策树获取得分
是否可以使用sklearn2PMML
或通过在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 (将#修改为@)