“循环:存储/查看每次迭代的输出?”

弗兰基弗兰基 成员职位:26因素二世
2019年5月编辑 帮助
你好,

我有一个关于“循环簇”方法的问题。如果我有一个循环,它在多个杂集器上循环,那么我如何从循环内的所有x验证中获得输出?通过这种设置,我只得到输出中最后一个循环的输出。如果有5个集群,我如何将所有结果输出?或者,我如何将“性能向量”分类矩阵保存为简单的文本(我不希望将整个性能保存到RM对象中)。


简单的例子:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.0 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文




< /操作符>



< /操作符>









< /操作符>







> < /过程


<列出关键= " application_parameters " / >
< /操作符>


< /操作符>















> < /过程
< /操作符>








> < /过程
< /操作符>








> < /过程
< /操作符>
> < /过程

标记:

答案

  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    你好,
    您可以使用Remember / Recall操作符来记住您想要的任何内容。还可以使用Collect操作符将多个对象绑定到一个集合。

    可以使用Write to Text操作符写入文本输出,也可以使用报告扩展写入更复杂的文本输出。无论如何,我也会存储RM对象…

    问候,
    塞巴斯蒂安。
  • 弗兰基弗兰基 成员职位:26因素二世
    你好,

    你能举个例子吗?我尝试了几次迭代,但我发现我无法理解我需要哪些操作符,以及它们的顺序。



  • 弗兰基弗兰基 成员职位:26因素二世
    还在寻找这个问题的答案吗,没有人遇到过同样的问题吗?: - \
  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    你好,
    老实说:不,我从来没有:)

    这里有一个方法可以解决你的问题。但是,在使用诸如Remember Recall…之类的副作用时,请记住流程执行顺序。
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <过程version = " 5.1.002 " >
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文




    < /操作符>



    <列出关键= " set_additional_roles " / >
    < /操作符>




    < /操作符>









    < /操作符>







    > < /过程


    <列出关键= " application_parameters " / >
    < /操作符>


    < /操作符>















    > < /过程
    < /操作符>




    < /操作符>


    < /操作符>



    < /操作符>












    > < /过程
    < /操作符>



    < /操作符>











    > < /过程
    < /操作符>
    > < /过程

    问候,
    塞巴斯蒂安。
  • 弗兰基弗兰基 成员职位:26因素二世
    塞巴斯蒂安·兰德写道:

    你好,
    老实说:不,我从来没有:)

    这里有一个方法可以解决你的问题。但是,在使用诸如Remember Recall…之类的副作用时,请记住流程执行顺序。

    删除……

    问候,
    塞巴斯蒂安。

    谢谢你的代码,它真的在路上帮助了我。尽管如此,当我把它应用到我自己的进程时,我确实得到了一个错误:

    当“循环集群”操作符中的“召回”第一次执行时,我得到:
    "从对象存储中检索时没有找到名称为m1的对象"

    当我尝试你的例子时,这不会发生,但我自己的代码和数据具有相同的布局(而不是并行化,例如)。为什么我找不到“m1”对象,或者…为什么你的代码没有给出同样的错误?m1对象应该初始化吗?我有“m1”的名字是正确的,事实上,我复制粘贴了你所有的操作符到我的原始项目。




    / /弗兰基


  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    你好,弗兰基,

    这可能与执行顺序有关。在我的过程中,有两个操作符Collect(2)和Remember(2)在循环集群之前执行。您可以使用Process View右上角的一个按钮显示执行顺序。

    第一个记忆确保有一个可以在循环内部被调用的空集合被记住。

    问候,
    塞巴斯蒂安。
  • 弗兰基弗兰基 成员职位:26因素二世
    塞巴斯蒂安·兰德写道:

    你好,弗兰基,

    这可能与执行顺序有关。在我的过程中,有两个操作符Collect(2)和Remember(2)在循环集群之前执行。您可以使用Process View右上角的一个按钮显示执行顺序。

    第一个记忆确保有一个可以在循环内部被调用的空集合被记住。

    问候,
    塞巴斯蒂安。
    谢谢你,把问题解决了!然而……还有一件事。当我运行该进程时,我可以做些什么来处理“内存不足”错误/消息吗?
    为什么我可以运行一个500,000个样本的过程而没有问题,但是有了这个添加(召回/收集/记忆…),大约有1000个样本(有8个类别的循环)得到这个错误消息?!我应该在循环中的某个点释放内存吗?


    / /弗兰基
  • 弗兰基弗兰基 成员职位:26因素二世
    或者,我应该回忆/记住生成的数据的一部分吗?

    看起来像一个类似的问题:http://rapid-i.com/rapidforum/index.php/topic,2714.0.html
  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    你好,弗兰基,

    没有这个过程是很难给出任何提示的。请提供流程和您的问题:)

    问候,
    塞巴斯蒂安。
登录注册置评。