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

HdejesusHdejesus Member Posts: 4 Learner I
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/32606/import-xml-code-to-process

Thanks for your time and help!

Best Answer

  • rjones13rjones13 Member Posts: 124 Unicorn
    Solution Accepted
    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

  • ClaudioKeckClaudioKeck Employee, Member Posts: 35 Guru
    Typically you can use the created XML from RapidMiner to share the Process. Is it possible to share the XML? 
  • rjones13rjones13 Member Posts: 124 Unicorn
    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
  • HdejesusHdejesus Member Posts: 4 Learner I
    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!
  • rjones13rjones13 Member Posts: 124 Unicorn
    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
  • rjones13rjones13 Member Posts: 124 Unicorn
    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
  • HdejesusHdejesus Member Posts: 4 Learner I
    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.
  • tarun2790tarun2790 Member Posts: 1 Newbie

    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. 

Sign In or Register to comment.