Partitions the data set into training and test set according to the specified
fraction. The training and test set are added to the original data and returned.
If requested, the distribution of the best algorithms in training and test set
is approximately the same, i.e. the sets are stratified.