gpt4 book ai didi

python - 我可以使用 Augustus (Python) 应用包含 DefineFunction 的 PMML 模型吗?

转载 作者:行者123 更新时间:2023-11-28 22:51:54 26 4
gpt4 key购买 nike

我将 Augustus 用作 PMML 模型使用者。我修改了 add two numbers example包括一个 DefineFunction 元素,像这样:

<PMML version="4.1" xmlns="http://www.dmg.org/PMML-4_1">
<Header/>
<DataDictionary>
<DataField name="x" dataType="double" optype="continuous"/>
<DataField name="y" dataType="double" optype="continuous"/>
</DataDictionary>
<TransformationDictionary>
<DefineFunction dataType="float" optype="continuous" name="add">
<ParameterField optype="continuous" name="first"></ParameterField>
<ParameterField optype="continuous" name="second"></ParameterField>
<Apply function="+" invalidValueTreatment="returnInvalid">
<FieldRef field="first"></FieldRef>
<FieldRef field="second"></FieldRef>
</Apply>
</DefineFunction>
<DerivedField name="z" dataType="double" optype="continuous">
<Apply function="add">
<FieldRef field="x"/>
<FieldRef field="y"/>
</Apply>
</DerivedField>
</TransformationDictionary>
</PMML>

我将这个模型保存在一个文件中并尝试像这样运行它:

from resources import add_two_numbers_file # this is just the path to my model file
from augustus.strict import modelLoader

# Load model
with open(add_two_numbers_file, 'r') as model_file:
model_str = model_file.read()
model = modelLoader.loadXml(model_str)

# Run model
print model.calc({'x':[1,2,3],'y':[4,5,6]}).look()

但是,我得到一个错误:

AttributeError: 'DefineFunction' object has no attribute '_setupCalculate'

我正在使用最新的主干(修订版 794)并且能够毫无问题地运行未修改的示例(没有 DefineFunction)。 Augustus 是否支持 DefineFunction?

最佳答案

jcrudy,你是对的:这是一个错误。 (API 已更改,DefineFunction 未更新。)它现在已在 public SVN repository 中修复。 : 使用 Augustus >= r795,您可以按原计划运行您的示例。

顺便说一句,您的 PMML 来自外部文件,但您将其加载到字符串中,然后加载到 PMML DOM 中。您可以通过传递 loadXML 文件名来跳过中间步骤:

model = modelLoader.loadXml(add_two_numbers_file)

(这可能与非常大的 PMML 文件相关;另请注意,它们可以进行 GZip 压缩。)

关于python - 我可以使用 Augustus (Python) 应用包含 DefineFunction 的 PMML 模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21055235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com