The Altair Community and the RapidMiner community is on read-only mode until further notice. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here.
Options

Beware Generate Macro's result truncation!

tennenrishintennenrishin Member Posts: 177 Contributor II
edited November 2018 in Help
To whom it may interest

In the following process's output, why is a != b ?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.008">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="generate_macro" compatibility="5.3.008" expanded="true" height="60" name="Generate Macro" width="90" x="45" y="30">
        <list key="function_descriptions">
          <parameter key="eps" value="1e-6"/>
        </list>
      </operator>
      <operator activated="true" class="generate_data_user_specification" compatibility="5.3.008" expanded="true" height="60" name="Generate Data by User Specification" width="90" x="246" y="30">
        <list key="attribute_values">
          <parameter key="a" value="1e6*1e-6"/>
          <parameter key="b" value="1e6*%{eps}"/>
        </list>
        <list key="set_additional_roles"/>
      </operator>
      <connect from_op="Generate Data by User Specification" from_port="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>
Because when Generate Macro converts numeric results to strings (as it must) it truncates them according to rapidminer.general.fractiondigits.numbers. You either have to use Set Macro, or change your preferences. Simply quoting doesn't work either, because Generate Macros, unlike Generate Attributes, tries to convert string->number->string.
Sign In or Register to comment.