Loop and Deliver Best (RapidMiner Studio Core)
SynopsisThis operator iterates over its subprocess the specified number of times and delivers the results of the iteration that has the best performance.
The Loop and Deliver Best operator is a nested operator i.e. it has a subprocess. The subprocess of the Loop and Deliver Best operator executes n number of times, where n is the value of the iterations parameter specified by the user. The subprocess of this operator must always return a performance vector. The best performance vector from these performance vectors is returned as result of this operator. For more information regarding subprocesses please study the Subprocess operator.
Loop and AverageThis operator iterates over its subprocess the specified number of times and delivers the average of the inner results.
- in (IOObject)
This operator can have multiple inputs. When one input is connected, another in port becomes available which is ready to accept another input (if any). The order of inputs remains the same. The Object supplied at the first in port of this operator is available at the first in port of the nested chain (inside the subprocess). Do not forget to connect all inputs in correct order. Make sure that you have connected the right number of ports at the subprocess level.
- performance (Performance Vector)
The best performance vector of all the performance vectors is returned from this port.
- out (IOObject)
This operator can have multiple out output ports. When one output is connected, another out output port becomes available which is ready to deliver another output (if any). The order of outputs remains the same. The object delivered at the first out port of the subprocess is delivered at the first out port of the outer process. Don't forget to connect all outputs in correct order. Make sure that you have connected the right number of ports at all levels of the chain.
- iterationsThis parameter specifies the number of iterations of the subprocess of this operator. Range: integer
- enable_timeoutThis parameter specifies if the processing should be aborted after the time specified in the timeout parameter. Please note that the processing is aborted after completion of the running iteration. Range: boolean
- timeoutThe timeout (in minutes) is specified through this parameter. Range: integer
Delivering the best performance vector
The 'Golf' data set is loaded using the Retrieve operator. The Loop and Deliver Best operator is applied on it. The iterations parameter is set to 3; thus the subprocess of the Loop and Deliver Best operator will be executed three times. A performance vector will be generated in every iteration and the best of these performance vectors will be delivered as the result of this operator.
Have a look at the subprocess of the Loop and Deliver Best operator. The Split Validation operator is used for training and testing a Naive Bayes model. A breakpoint is inserted after the Split Validation operator so that the performance vector can be seen in each iteration. Run the process. You will see that the performance vector of the first iteration has 25% accuracy. Keep continuing the process; you will see the performance vectors of the second and third iterations (with 75% and 100% accuracy respectively). The Loop and Deliver Best operator returns the best of these three results through its output port. The best of these three results is the one with 100% accuracy. The resultant performance vector can be seen in the Results Workspace.