The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
"Loop Attributes - Not Enough Iterations Error"
I'm trying to make use of my Loop Attributes with Generate Attributes inside of it. I did it with the help of refencing closely to this video (https://academy.rapidminer.com/learn/video/loop-attributes),
However, the "Not Enough Iterations" popped out when I run the process.
It states that the minimum number of iterations must not be smaller than 1 but was '0'.
I don't see anything with regards to 'Iteration' appearing in the above mentioned video as well as in the parameters of Loop Attributes/Generate Attributes.
How do I solve it?
Regards,
AY
However, the "Not Enough Iterations" popped out when I run the process.
It states that the minimum number of iterations must not be smaller than 1 but was '0'.
I don't see anything with regards to 'Iteration' appearing in the above mentioned video as well as in the parameters of Loop Attributes/Generate Attributes.
How do I solve it?
Regards,
AY
Tagged:
0
Best Answers
-
David_A Administrator, Moderator, Employee-RapidMiner, RMResearcher, Member Posts: 297 RM ResearchHi,
iterations in that case means, number of attributes you are looping over. So in that case, the example set (or subset) is empty.
Did you select a different attribute filter type than "all"? In that case make sure that at least one of your attributes fulfills the condition.
By using breakpoints, you can halt the execution of the process and see how your example set looks during run time.
Best,
David
5 -
Knut-RM Administrator, Employee-RapidMiner, Member, University Professor Posts: 113 Administrator@1705410G I suggest to make sure you use some of the standard debugging features like break-points () and logs to find out what is really happening in every step of your process then if that doesn't help please share your data and the process so we can look into it further. Happy debugging!5
-
David_A Administrator, Moderator, Employee-RapidMiner, RMResearcher, Member Posts: 297 RM ResearchHi,
inside you loop you keep a copy of the original example set (normally from the "orig" port of the Select Attribute) and join both branches back together before passing the data back to the next iteration. Take a look at the process below for a simple example.
If you uncheck "reuse results" you will get a collection containing a single example set for each iteration, but with the benefit that it can be executed in parallel.
Best,
David<?xml version="1.0" encoding="UTF-8"?><process version="9.1.000"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="9.1.000" expanded="true" name="Process" origin="GENERATED_TUTORIAL"> <parameter key="logverbosity" value="init"/> <parameter key="random_seed" value="2001"/> <parameter key="send_mail" value="never"/> <parameter key="notification_email" value=""/> <parameter key="process_duration_for_mail" value="30"/> <parameter key="encoding" value="SYSTEM"/> <process expanded="true"> <operator activated="true" class="retrieve" compatibility="9.1.000" expanded="true" height="68" name="Retrieve Iris" width="90" x="112" y="34"> <parameter key="repository_entry" value="//Samples/data/Iris"/> </operator> <operator activated="true" class="concurrency:loop_attributes" compatibility="8.2.000" expanded="true" height="82" name="Loop Attributes" origin="GENERATED_TUTORIAL" width="90" x="380" y="34"> <parameter key="attribute_filter_type" value="value_type"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="numeric"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="text"/> <parameter key="block_type" value="attribute_block"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="value_matrix_row_start"/> <parameter key="invert_selection" value="false"/> <parameter key="include_special_attributes" value="true"/> <parameter key="attribute_name_macro" value="loop_attribute"/> <parameter key="reuse_results" value="true"/> <parameter key="enable_parallel_execution" value="true"/> <process expanded="true"> <operator activated="true" class="select_attributes" compatibility="9.1.000" expanded="true" height="82" name="Select Attributes" width="90" x="112" y="238"> <parameter key="attribute_filter_type" value="single"/> <parameter key="attribute" value="%{loop_attribute"/> <parameter key="attributes" value=""/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="attribute_value"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="time"/> <parameter key="block_type" value="attribute_block"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="value_matrix_row_start"/> <parameter key="invert_selection" value="true"/> <parameter key="include_special_attributes" value="false"/> </operator> <operator activated="true" class="generate_attributes" compatibility="9.1.000" expanded="true" height="82" name="Generate Attributes" origin="GENERATED_TUTORIAL" width="90" x="380" y="34"> <list key="function_descriptions"> <parameter key="double_(%{loop_attribute})" value="eval(%{loop_attribute})*2"/> </list> <parameter key="keep_all" value="true"/> </operator> <operator activated="true" class="concurrency:join" compatibility="9.1.000" expanded="true" height="82" name="Join" width="90" x="715" y="238"> <parameter key="remove_double_attributes" value="true"/> <parameter key="join_type" value="inner"/> <parameter key="use_id_attribute_as_key" value="true"/> <list key="key_attributes"/> <parameter key="keep_both_join_attributes" value="false"/> <description align="center" color="yellow" colored="true" width="126">Merge both branches together and reuse them in the next iteration</description> </operator> <connect from_port="input 1" to_op="Select Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="example set output" to_op="Generate Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="original" to_op="Join" to_port="right"/> <connect from_op="Generate Attributes" from_port="example set output" to_op="Join" to_port="left"/> <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="sink_output 1" spacing="0"/> <portSpacing port="sink_output 2" spacing="0"/> <description align="center" color="yellow" colored="false" height="105" resized="false" width="180" x="89" y="31">The upper branch only contains the single loop_attribute</description> <description align="center" color="yellow" colored="false" height="105" resized="false" width="180" x="352" y="316">The lower branch contains the original data</description> </process> </operator> <connect from_op="Retrieve Iris" from_port="output" to_op="Loop Attributes" to_port="input 1"/> <connect from_op="Loop Attributes" from_port="output 1" 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>
5
Answers
I'm using subset. But i'm unsure why this error occurred since there's definitely more than 1 examples.
Regards,
AY
In such a scenario, your reduced subset is passed over to the next loop and then it might be empty.
Yes, I've checked the reuse results box and placed a Generate Attribute operator inside the Loop Attribute.
So what can I do then? Should I uncheck the reuse results?
Regards,
AY