Can I know which operators (and the process) were used to solve a problem with the XML?

Hdejesus
Hdejesus New Altair Community Member
edited November 5 in Community Q&A
When your run a process Rapidminer generates an XML. I wonder if we can use that text or information for some else to be able to run the same process on their end.

I have an older version of Rapidminer (5.3.015) and this method did not work for me - https://community.rapidminer.com/discussion/50470/import-xml-code-to-process

Thanks for your time and help!
Tagged:

Best Answer

  • RolandJones
    RolandJones
    Altair Employee
    Answer ✓
    Hi @Hdejesus,

    Order of placement doesn't matter, only order of execution and making sure they're connected correctly. Of course, it's always good to organise your workflows so that they're easy to understand for others or if you come back to it.

    Best,

    Roland

Answers

  • ClaudioKeck
    ClaudioKeck
    Altair Employee
    Typically you can use the created XML from RapidMiner to share the Process. Is it possible to share the XML? 
  • RolandJones
    RolandJones
    Altair Employee
    Hi @Hdejesus,

    Yes, to a degree and it's a little manual. My own personal experience is with v9.10 and v10.1+. You'll find that the XML produced has sections starting <operator followed by entries around the parameters and it's connections. In particular, you're looking for the class entry.

    E.g. this line tells me there's a statistics operator that is in my process.
    <operator activated="true" class="model_simulator:data_statistics" compatibility="10.3.000" expanded="true" height="82" name="Statistics" width="90" x="246" y="34"/>
    

    If you want to learn a little more, you can turn on the XML panel in RapidMiner and compare processes to their source XML in the background.

    Hope this helps. Best,

    Roland
  • Hdejesus
    Hdejesus New Altair Community Member
    Hi @ClaudioKeck
     and @rjones13

    Thanks for your help! I am a new user of this program and I still don't know many things about it. We're students who are supposed to use this program this semester but the professor is not able to pass down his knowledge so we're basically learning on our own. I used notepad to save the xml but I can't share the file here, so I'll paste the text:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.015"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.015" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="retrieve" compatibility="5.3.015" expanded="true" height="60" name="Retrieve MY-data" width="90" x="45" y="30"> <parameter key="repository_entry" value="//Local Repository/MY-data"/> </operator> <operator activated="true" class="select_attributes" compatibility="5.3.015" expanded="true" height="76" name="Select Attributes" width="90" x="179" y="30"> <parameter key="attribute_filter_type" value="single"/> <parameter key="attribute" value="Model"/> </operator> <operator activated="true" class="remove_duplicates" compatibility="5.3.015" expanded="true" height="76" name="Remove Duplicates" width="90" x="313" y="30"/> <operator activated="false" class="filter_examples" compatibility="5.3.015" expanded="true" height="76" name="Filter Examples" width="90" x="246" y="210"> <parameter key="condition_class" value="no_missing_attributes"/> </operator> <operator activated="false" class="generate_attributes" compatibility="5.3.015" expanded="true" height="76" name="Generate Attributes" width="90" x="380" y="210"> <list key="function_descriptions"> <parameter key="AspectRatio" value="Max_resolution^2/(Effective_pixels*1024^2)"/> </list> </operator> <operator activated="false" class="aggregate" compatibility="5.3.015" expanded="true" height="76" name="Aggregate" width="90" x="447" y="165"> <list key="aggregation_attributes"> <parameter key="AspectRatio" value="count"/> </list> <parameter key="group_by_attributes" value="Effective_pixels"/> </operator> <connect from_op="Retrieve MY-data" from_port="output" to_op="Select Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="example set output" to_op="Remove Duplicates" to_port="example set input"/> <connect from_op="Remove Duplicates" 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>

    Is there a way that I can use this information to import it into my version of Rapidminer so I know how that problem was solved? I want to know which operators were used, their order, and all.

    Thanks for your help!
  • RolandJones
    RolandJones
    Altair Employee
    Hi @Hdejesus,

    The process appears to retrieve the MY-data dataset, use Select Attributes to select the 'Model' attribute, and then apply a Remove Duplicates operator.

    Best,

    Roland
  • RolandJones
    RolandJones
    Altair Employee
    Also to follow-up, I would recommend upgrading to a newer version if possible. You should be able to do this from your RapidMiner account. Additionally, if you haven't already, you can request a full academic license for the year using your university email address.

    Best,

    Roland
  • Hdejesus
    Hdejesus New Altair Community Member
    Hi @rjones13

    Thanks for this!

    I tried another way of doing this and I simply pasted the XML onto the area XML and checked the checkmark on the top left, and it worked. I could see the operators and their settings and all.

    Now I just have to understand the logic or the reasoning to use those operators and the settings.

    Is it important to order the operators or they can be placed randomly? I wonder if the location influences the final result.
  • RolandJones
    RolandJones
    Altair Employee
    Answer ✓
    Hi @Hdejesus,

    Order of placement doesn't matter, only order of execution and making sure they're connected correctly. Of course, it's always good to organise your workflows so that they're easy to understand for others or if you come back to it.

    Best,

    Roland
  • tarun2790
    tarun2790 New Altair Community Member

    Here are some common tasks and operators you might use when working with XML:

    1. Parsing: Reading an XML document and converting it into a data structure that can be manipulated programmatically. This often involves using libraries or built-in functions specific to the programming language you're using.

    2. XPath: A query language for selecting nodes from an XML document. XPath expressions can be used to navigate through the hierarchical structure of an XML document and select specific elements or attributes.

    3. XSLT (eXtensible Stylesheet Language Transformations): A language for transforming XML documents into other formats, such as HTML, or into different XML structures. XSLT uses templates and patterns to specify how the transformation should be performed.

    4. DOM (Document Object Model): A programming interface for accessing and manipulating XML documents as a tree of nodes. With DOM, you can programmatically create, modify, and delete elements and attributes within an XML document.

    5. SAX (Simple API for XML): A stream-oriented approach for processing XML documents. SAX parsers generate events as they encounter elements, allowing you to respond to those events in your code.

    6. XML Schema: A way to define the structure, content, and data types allowed in an XML document. XML Schema documents can be used to validate whether an XML document conforms to a specified structure.