如何将复合谓词编码为 PMML?

How to encode compound predicate into PMML?

我是 pmml 的新手,正在寻找有关如何为以下逻辑创建派生字段的示例?

if var1 < 100 and var2 <= -1 then binvalue '--'
else if var1 >= 100 and var2 <= -1 then bin value = '+-'
else if var1 >= 100 and var2 > -1 then binvalue = '++'
else if var1 < 100 and var2 var2 >-1 then binvalue = '-+'

我有我认为的大纲,但那里也可能是错误的。即使只是第一个垃圾箱,任何帮助都会很棒。艾米,我走对了方向吗?很抱歉这么白痴的问题。

<DerivedField>
    <Discretize field="myvar"  optype="categorical" datatype="string"   >
        <DiscretizeBin binValue="--">
        </DiscretizeBin> 
        <DiscretizeBin binValue="+-">
        </DiscretizeBin>  
        <DiscretizeBin binValue="++">
        </DiscretizeBin>  
        <DiscretizeBin binValue="-+">
        </DiscretizeBin>   
    </Discretize>
</DerivedField>

Discretize 元素对单个连续特征进行操作。您的要求是将离散化应用于一对连续特征(var1var2),这是不支持的。

您可能会考虑的事项:

  • 独立离散化两个特征,然后使用 MapValues 元素将它们的组合(“+”和“-”符号的二乘二矩阵?)映射到所需的输出。
  • 使用 general-purpose Apply 元素(使用 iflessThangreaterThan built-in 函数表达离散化逻辑)。