return new Leaf(data.get(0).label);
int[] attributes = randomAttributes(data.getDataset(), rng, m);
// find the best split
Split best = null;
for (int attr : attributes) {
Split split = igSplit.computeSplit(data, attr);
if (best == null || best.ig < split.ig)
best = split;
}
if (data.getDataset().isNumerical(best.attr)) {