如何将复合谓词编码为 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
元素对单个连续特征进行操作。您的要求是将离散化应用于一对连续特征(var1
和 var2
),这是不支持的。
您可能会考虑的事项:
- 独立离散化两个特征,然后使用
MapValues
元素将它们的组合(“+”和“-”符号的二乘二矩阵?)映射到所需的输出。
- 使用 general-purpose
Apply
元素(使用 if
、lessThan
和 greaterThan
built-in 函数表达离散化逻辑)。
我是 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
元素对单个连续特征进行操作。您的要求是将离散化应用于一对连续特征(var1
和 var2
),这是不支持的。
您可能会考虑的事项:
- 独立离散化两个特征,然后使用
MapValues
元素将它们的组合(“+”和“-”符号的二乘二矩阵?)映射到所需的输出。 - 使用 general-purpose
Apply
元素(使用if
、lessThan
和greaterThan
built-in 函数表达离散化逻辑)。