for (int k = 0; k < dss; k++)
D.add(1.0 / (float) dss);
for (int i = 0; i < T; i++) {
dataSetFactory.setSignificance(D);
MLDataSet thisSet = dataSetFactory.getNewDataSet();
GenericEnsembleML newML = new GenericEnsembleML(mlFactory.createML(dataSetFactory.getInputData().getInputSize(), dataSetFactory.getInputData().getIdealSize()),mlFactory.getLabel());
do {
mlFactory.reInit(newML.getMl());
MLTrain train = trainFactory.getTraining(newML.getMl(), thisSet);
newML.setTraining(train);
newML.train(targetAccuracy,verbose);
} while (newML.getError(testset) > selectionError);
double newWeight = getWeightedError(newML,thisSet);
members.add(newML);
weights.add(newWeight);
D = updateD(newML,thisSet,D);
}