首页 > 解决方案 > 使用带有默认条件的 sklearn2pmml 将决策树转换为 PMML

问题描述

我正在使用sklearn2pmmlpython 将使用库训练的决策树转换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 文件中手动创建节点来做到这一点?

这是生成决策树和 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)

标签: pythonscikit-learnbusiness-rulespmml

解决方案


推荐阅读