Loop Repository doesn't loop example sets in the right order..
hi,
does the loop repository operator take the Example sets in the right order as listed in the repository (e.g alphabetically?)
somehow, I got the feeling it does not join the correct example sets...
I originally wanted to join 2 c orresponding lists, and there are about 10 pairs of lists in 2 repositories, but it seems they dont take the lists one-on-one in the right repository order, is that correct?
<?xml version="1.0" encoding="UTF-8"?><process version="7.3.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.3.001" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="loop_repository" compatibility="7.3.001" expanded="true" height="82" name="Loop Repository" width="90" x="246" y="85">
<parameter key="repository_folder" value="//Bainit/Axiovision Bainit/"/>
<parameter key="entry_type" value="IOObject"/>
<process expanded="true">
<connect from_port="repository object" to_port="out 1"/>
<portSpacing port="source_repository object" spacing="0"/>
<portSpacing port="source_in 1" spacing="0"/>
<portSpacing port="sink_out 1" spacing="0"/>
<portSpacing port="sink_out 2" spacing="0"/>
</process>
</operator>
<operator activated="true" class="loop_repository" compatibility="7.3.001" expanded="true" height="82" name="Loop Repository (2)" width="90" x="246" y="187">
<parameter key="repository_folder" value="//Bainit/Haralick Bainit/"/>
<parameter key="entry_type" value="IOObject"/>
<process expanded="true">
<connect from_port="repository object" to_port="out 1"/>
<portSpacing port="source_repository object" spacing="0"/>
<portSpacing port="source_in 1" spacing="0"/>
<portSpacing port="sink_out 1" spacing="0"/>
<portSpacing port="sink_out 2" spacing="0"/>
</process>
</operator>
<operator activated="true" class="loop" compatibility="7.3.001" expanded="true" height="103" name="Loop" width="90" x="581" y="136">
<parameter key="set_iteration_macro" value="true"/>
<parameter key="iterations" value="20"/>
<process expanded="true">
<operator activated="true" breakpoints="after" class="select" compatibility="7.3.001" expanded="true" height="68" name="Select" width="90" x="179" y="34">
<parameter key="index" value="%{iteration}"/>
</operator>
<operator activated="true" class="select" compatibility="7.3.001" expanded="true" height="68" name="Select (2)" width="90" x="179" y="136">
<parameter key="index" value="%{iteration}"/>
</operator>
<operator activated="true" breakpoints="after" class="filter_examples" compatibility="7.3.001" expanded="true" height="103" name="Filter Examples" width="90" x="313" y="136">
<list key="filters_list">
<parameter key="filters_entry_key" value="Faserlänge.ne.0"/>
</list>
</operator>
<operator activated="true" breakpoints="after" class="join" compatibility="7.3.001" expanded="true" height="82" name="Join" width="90" x="514" y="85">
<parameter key="use_id_attribute_as_key" value="false"/>
<list key="key_attributes">
<parameter key="Flächeunskaliert [Pixel²]" value="Faserlänge"/>
</list>
</operator>
<connect from_port="input 1" to_op="Select" to_port="collection"/>
<connect from_port="input 2" to_op="Select (2)" to_port="collection"/>
<connect from_op="Select" from_port="selected" to_op="Join" to_port="left"/>
<connect from_op="Select (2)" from_port="selected" to_op="Filter Examples" to_port="example set input"/>
<connect from_op="Filter Examples" from_port="example set output" to_op="Join" to_port="right"/>
<connect from_op="Join" from_port="join" to_port="output 1"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="source_input 2" spacing="0"/>
<portSpacing port="source_input 3" spacing="0"/>
<portSpacing port="sink_output 1" spacing="0"/>
<portSpacing port="sink_output 2" spacing="0"/>
</process>
</operator>
<operator activated="true" class="collect" compatibility="7.3.001" expanded="true" height="82" name="Collect" width="90" x="715" y="136"/>
<connect from_op="Loop Repository" from_port="out 1" to_op="Loop" to_port="input 1"/>
<connect from_op="Loop Repository (2)" from_port="out 1" to_op="Loop" to_port="input 2"/>
<connect from_op="Loop" from_port="output 1" to_op="Collect" to_port="input 1"/>
<connect from_op="Collect" from_port="collection" 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>
anyone?
I was just wondering, because at some time, the third list or so, items cannot be joined by key column anymore, there are no matching fields, which is weird, as they do match in the lists.. therefore I am assuming that Rapidminer is not taking the items in the right repository order, is that correct?
Answers
There's a lot of looping going on in your process and it's hard for me to understand without some data. Are those data sets available to share?
I sent you a PM..