我们可以使用 python 扩展或任何其他扩展来解析 Netlogo 中的决策树 pmml 文件吗?

问题描述 投票:0回答:1

我正在尝试运行一个 Netlogo 模型,其中海龟的行为取决于决策树等 ML 模型的概率。该规则集以 PMML 文件的形式提供。有没有办法使用 python 扩展来做到这一点?

更新

我现在能够解析并创建规则列表。但是,我无法访问 Netlogo 代码之外的 py:run (...) 块中生成的规则列表。我尝试将 read_pmml 更改为 t-report,然后作为 py:runresult 访问,但没有成功

我有一个解决方法可以导出为 csv 文件并在 netlogo 代码中再次导入,但我觉得它效率不高

示例代码:

to read_pmml
  (py:run
    "import csv"
    "import xml.etree.ElementTree as ET"
    "tree = ET.parse('mytest.pmml')"
## reminder of the code
    "print (rule_list)"
   )
end
netlogo rules pmml
1个回答
0
投票

我现在可以通过创建一个在 py:run 块内返回值的函数并使用 py:result 报告函数的 o/p 来解决这个问题

to-report rules
  (py:run
    "def read_rules(): "
    "    import csv"
    ;###Rest of My code###
    "    return rule_list"
    )
  report (py:runresult (word ("read_rules()")))
end
© www.soinside.com 2019 - 2024. All rights reserved.