以决策表(或查询表)的形式定义逻辑,例如,例如
df = pd.DataFrame( np.random.choice([0, 1]
, size=(4,2))
, columns=list('AB')
, index=list('CDEF')
)
这样就有2个输入,一个可以是' A'或者' B',另一个可以是' C' D'' E'或者' F',逻辑返回' 1'或者是' 0'对于每个输入组合。
问题是以编程方式生成表示此逻辑的PMML文档。
解决方案的理想属性是:
注意:
'运行时性能'上面指的是PMML在执行时表示的模型的复杂性。它没有提到构建PMML文档所花费的时间。
'矩阵的维数' “矩阵”是指矩阵的一个或多个维度变大的情况,例如,而不仅仅是abcd,第二个输入可以占用100万个州中的任何一个。
虽然出于演示目的,使用pandas数据框来定义逻辑,但这不需要约束解决方案。它只是一个由1和0组成的矩阵,它定义了'输出'对于2个输入的每个可能组合,其中第一个输入可以采用n种可能的状态,第二个输入可以采用m种可能的状态。
可能的资源/提示:sklearn,sklearn2pmml和sklearn-pandas。