Ensemble Nodes


I have been experimenting with the ensemble metanodes and I am wondering if it is possible to use these metanodes/nodes in conjuction with others. For example, I tried to use the delegating and bagging, and then delagating and boosting nodes together. However, there seems to be a problem in terms of using them in conjunction. I wonder if this is a technical impossibility or I could not figure out how to use them with one another.

I attached an example workflow. Any ideas will be highly appreciated.



Hi boraster,

sure, they can be combined as you did it. However there is a loop end missing for the Chunk Loop Start node. e.g. after the boosing predictor loop end?

( The recursive loop end closes the chunk loop start currently and this is not possible)

Cheers, Iris

Hi Iris,

what might be your suggesstion for the missing loop node? voting loop end?

I suppose "Voting Loop End" is not working with delagating ensemble configuration because the "Voting Loop End" does not convey anything but the predictions/winner column information.

Okay (edited answer) your completely right, the voting does not work. 

You need to make the decision on your own. I would use a normal Loop End. (Extract the rowId right before), then group on the rowId and generate the voting (e.g. as mode). After the grouping reassing the rowid for the filter well predicted meta node

It's my bad :) I jumped from ensemble to ensemble :)

Loop End works fine with boosting ensemble within a delagating ensemble, but if I try to put bagging ensemble inside delagating ensemble, Voting Loop End seems to be the problem.

Is it possible to update the "Voting Loop End" node in the fortcoming releases, so that it might be used in a nested loop like my example?


Thank you, Iris.

I tried your suggestion. Can you take look at the workflow?


The problem is, that you need to connect the voting loop end to the filter well metanode.

(Otherwise the loop has a side branch, which is not possible)

Did you have the time to look at the workflow attached a couple of messages above?

I tried to implement your suggestion instead of "Voting Loop End" node. The workflows seems to be working fine, but the when the second iteration of the workflow starts, decision tree learner gives an error of data table having just 1 row . 

after the first iteration, there seems to only 36 rows are sent back to the recursive loop start node, and if I assign 37 to the minimal row number in the recursive loop end node, there is no error and the scorer gives me the statistics.

What I am really wondering about is even though there is only 36 rows left after first iteration to sent back to the start of the workflow, the accuracy level is considerably low (about 62%). It feels like there is some kind of problem with the whole process (I mean, because of MY ensemble design). Otherwise, either the number of rows sent back to the start has to be higher or the accuracy level of prediction has to be higher.

I really wish to have your ideas on this matter.


I did look at the delegating and bagging workflow, however there is a voting loop end inside? Is this the correct one?

I post the workflow again.

Thanks again :)

Okay so what you are doing is as follows:


first iteration: you are working on the first port of your meta node, predicting the second. The wrong predicted ones from the second port are send back to the recursive loop start

second iteration: the wrong predicted ones are used for training. All the data from port two is predicted. The wrong predicted ones are sent back.


So, the ensemble predictor should be used on data from inside the recursive loop.


(PS: are you stresstesting KNIME? :))

Iris, you are hilarious :))

Actually, I am trying to benchmark to see if there is a considerable gain from nested ensemble configurations or not.

However, I am not that good at with Knime's nodes especially the loops and the ensembles. Therefore, I would like to get an expert's opinion on the matter.

Do you think nested ensembles might have considerable difference from regular ensembles?