"Set Role operator returning attribute does not exist [SOLVED]"

az1441
az1441 New Altair Community Member
edited November 5 in Community Q&A
Hello,

I am new to RapidMiner and using a Kaggle competition to get started with RapidMiner. I am trying to define an attribute as a label, but it returns the error message 'the attribute " does not exist' even though I have chosen the attribute name and target role in the parameters window. I have also checked that the attribute exists in the actual data set.

Can someone see what I am doing wrong?

Ps. I see that variations of this issue exist in the below threads, so let me know if I should move my question to one of those threads:

http://rapid-i.com/rapidforum/index.php?topic=6846.0
http://rapid-i.com/rapidforum/index.php?topic=8140.0

Answers

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    which version of RapidMiner Studio are you using? Which OS are you using? Does the error occur when executing the process in Studio itself or when you execute it on RapidMiner Server?

    Regards,
    Marco
  • az1441
    az1441 New Altair Community Member
    Hi Marco,

    Apologies, I did not read the 'how to ask for help' section before posting. I have added the info you asked about as well as about dataset and the XML if that can help.

    OS: Mac OS X Mavericks (10.9.4).
    Rapidminer version: 6.1
    Executing in: Rapidminer Studio
    Dataset has 12 attributes, 891 examples.

    XML:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="6.1.000">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="6.1.000" expanded="true" name="Process">
        <process expanded="true">
          <operator activated="true" class="retrieve" compatibility="6.1.000" expanded="true" height="60" name="Retrieve Titanic Train" width="90" x="45" y="120">
            <parameter key="repository_entry" value="//RapidMinerBook/Titanic_Folder/Titanic Train"/>
          </operator>
          <operator activated="true" class="set_role" compatibility="6.1.000" expanded="true" height="76" name="Set Role" width="90" x="246" y="120">
            <parameter key="target_role" value="label"/>
            <list key="set_additional_roles"/>
          </operator>
          <connect from_op="Retrieve Titanic Train" from_port="output" to_op="Set Role" to_port="example set input"/>
          <connect from_op="Set Role" 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>

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    in your case it is a UI bug which occurs on Java 8u20 and later versions.
    The problem is that you select an attribute, but when you deselect the operator and select it again, it is gone. You can work around this for the time being by selecting the attribute, typing any letter behind its name and then deleting the added letter again. The attribute should now be saved.

    The problem will be fixed with the next release which is scheduled to arrive before Christmas.

    Regards,
    Marco
  • az1441
    az1441 New Altair Community Member
    Yes that is exactly what happens and your workaround works sufficiently. Thank you for the swift reply and explanation.