Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

how to add process speficic parameters

0xflarion0xflarion Member Posts: 2 Contributor I
edited November 2018 in Help
Hey guys,

Actually, i'm developing a plugin for RapidMiner.
My problem is, i'm trying to add some parameters that should only be valid for one process and also persistent (e.g. some directories,...)
At first, i thought it would be possible to add some functionality to the ProcessRootOperator (there are already some parameters like the verosity level, logfile, resultfile, sendmail and so on). But i didn't find a solution that works.
I would be glad, if you could give me a hint :)

Greets,
flarion
Tagged:

Answers

  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    Hi flarion,

    maybe you can use Macros to configure process wide parameters?

    Best,
    Marius
  • 0xflarion0xflarion Member Posts: 2 Contributor I
    Hi Marius,

    i don't know how to use the macros.
    In the documentation of rapidminer and this forum, i cant find any information. Do you know a source/example where i can get more information?

    (What i want to do exactly is, after opening/importing a process file some paths of my plugin shall be set.)

    greets,
    flarion
  • MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn
    You can use macros as a kind of global process variables. On execution of an operator, the macros will be evaluated and replaced by their current value. Please have a look at the attached process.
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.2.002">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="5.2.002" expanded="true" name="Process">
        <process expanded="true" height="620" width="698">
          <operator activated="true" class="generate_data" compatibility="5.2.002" expanded="true" height="60" name="Generate Data" width="90" x="45" y="30"/>
          <operator activated="true" class="set_macro" compatibility="5.2.002" expanded="true" height="76" name="Set Macro (2)" width="90" x="179" y="30">
            <parameter key="macro" value="numClusters"/>
            <parameter key="value" value="5"/>
          </operator>
          <operator activated="true" class="set_macro" compatibility="5.2.002" expanded="true" height="76" name="Set Macro" width="90" x="313" y="30">
            <parameter key="macro" value="%{newName}"/>
            <parameter key="value" value="a new attribute name"/>
          </operator>
          <operator activated="true" class="k_means" compatibility="5.2.002" expanded="true" height="76" name="Clustering" width="90" x="447" y="30">
            <parameter key="k" value="%{numClusters}"/>
          </operator>
          <operator activated="true" class="rename" compatibility="5.2.002" expanded="true" height="76" name="Rename" width="90" x="581" y="30">
            <parameter key="old_name" value="att1"/>
            <parameter key="new_name" value="%{newName}"/>
            <list key="rename_additional_attributes"/>
          </operator>
          <connect from_op="Generate Data" from_port="output" to_op="Set Macro (2)" to_port="through 1"/>
          <connect from_op="Set Macro (2)" from_port="through 1" to_op="Set Macro" to_port="through 1"/>
          <connect from_op="Set Macro" from_port="through 1" to_op="Clustering" to_port="example set"/>
          <connect from_op="Clustering" from_port="clustered set" to_op="Rename" to_port="example set input"/>
          <connect from_op="Rename" from_port="example set output" 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>
Sign In or Register to comment.