1

我一直在使用 Rapidminer 并创建了一系列流程来执行一组标准任务。现在,我想让用户在开始时动态设置进程的参数。

例如,在编写 CSV 时,我想提示用户键入一个字符串,其中包含应通过某个提示保存它的位置(在脚本开始时,或在过程中的某个其他阶段。

这可以通过 Rapidminer 实现吗,还是我应该创建一些脚本来动态生成和运行他的进程?

4

2 回答 2

1

要更改要传递给进程的参数,我认为您必须编辑进程的 .xml 文件。例如,

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.0">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.0.10" expanded="true" name="Process">
    <process expanded="true" height="145" width="212">
      <operator activated="true" class="generate_data" compatibility="5.0.10" expanded="true" height="60" name="Generate Data" width="90" x="112" y="30">
        <parameter key="number_examples" value="10"/>
      </operator>
      <operator activated="true" class="write_csv" compatibility="5.0.10" expanded="true" height="60" name="Write CSV" width="90" x="271" y="39">
        <parameter key="csv_file" value="C:\Users\wessel\Desktop\gendata.csv"/>
      </operator>
      <connect from_op="Generate Data" from_port="output" to_op="Write CSV" to_port="input"/>
      <connect from_op="Write CSV" from_port="through" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>

您可以看到对于 write_csv 运算符,该值包含要写入的文件的路径。如您所描述的那样更改参数将涉及编写脚本以从用户那里获取值,将 .xml 文件中的相应值编辑为这些所需值,然后将该过程扔给 RapidMiner。

于 2010-12-16T16:29:10.593 回答
0

可以创建一个允许用户在运行时输入提示的 Groovy 脚本。这避免了每次都必须编辑流程。

这是一个基于 RapidMiner 论坛原件的示例。

于 2011-01-15T16:37:16.213 回答