【问题标题】:WSO2 SP fails to use PMML file to make predictionsWSO2 SP 无法使用 PMML 文件进行预测
【发布时间】:2018-05-21 17:18:55
【问题描述】:

按照 WSO2 SP 4.1.0 文档中提供的示例,我正在尝试运行一个示例,其中我从 csv 文件中读取数据,根据数据预测一些结果,并将预测结果导出到 csv文件。

到目前为止,对 csv 文件的读取和写入工作正常,但是当我添加 PMML 预测部分时,我无法运行文件,并出现错误“ERROR {org.wso2.extension.siddhi.gpl.execution. pmml.util.PMMLUtil} - 无法解组 pmml 定义:null"。

该模型是一个随机森林回归器,包含 15 棵树,max_depth=15 使用 sklearn 训练并使用 sklearn2pmml 0.35.1 Python 库导出。 我已经将“siddhi-gpl-execution-pmml-4.0.13.jar”文件复制到“{wso2_4.0.0 install dir}/lib”。

我想知道使用 sklearn2pmml 导出的 PMML 定义(模型遵循 PMML 4.3 定义)与 WSO2 SP 接受的 PMML 定义之间是否存在版本不匹配。

编辑:

错误现在没有显示,我附上了在 Firefox 上运行的 WSO2 SP 编辑器的图像,您可以在其中看到查询有错误,但错误框是空的! (这只发生在这个错误中)。

Link to a screenshot. Note that the message box from the error is empty!

EDIT2:

我已经尝试过No Extension Exists for pmml:predict WSO2 Stream Processor (siddhi-gpl-execution-pmml-4.0.11.jar) 中提出的 .jar 以及 siddhi-gpl-execution-pmml-4.0.13.jar。两者都给出相同的错误(在错误消息框中没有任何解释)。

【问题讨论】:

    标签: wso2 siddhi pmml wso2sp


    【解决方案1】:

    WSO2 SP 的 PMML 扩展本身就支持 PMML 4.3 定义。

    您能否验证作为扩展参数提供的“pmml_model_path”。

    【讨论】:

    • 路径正确。这就是我使用预测语句的方式:from InputStream#pmml:predict('/home/i2g/MLTest/randomforest.pmml') select * insert into OutputStream;
    • 你能附上完整的堆栈跟踪
    • 你是说终端输出?
    • 能否将 siddhi 文件复制到 /deployment/siddhi-files 并启动 worker。 (在 /bin 上运行 ./worker.sh)。然后附上您在后端控制台上看到的错误。
    • 感谢您的帮助!我解决了。问题在于变量类型定义(一个变量在 PMML 中定义为 double,在 siddhi 文件中定义为 float)。
    猜你喜欢
    • 2016-07-06
    • 2021-12-28
    • 2013-12-03
    • 2018-12-31
    • 1970-01-01
    • 2022-01-14
    • 2019-05-19
    • 2018-03-04
    • 2015-04-17
    相关资源
    最近更新 更多