code: public static ClassificationDataSet getSampledDataSet(ClassificationDataSet dataSet, int[] sampledCounts)
      {
          ClassificationDataSet destination = new ClassificationDataSet(dataSet.getNumNumericalVars(), dataSet.getCategories(), dataSet.getPredicting());
              
              for (int i = 0; i < sampledCounts.length; i++)
                  for(int j = 0; j < sampledCounts[i]; j++)
                  {
                      DataPoint dp = dataSet.getDataPoint(i);
                      destination.addDataPoint(dp.getNumericalValues(), dp.getCategoricalValues(), dataSet.getDataPointCategory(i));
                  }
              
              return destination;
      }
docs: Creates a new data set from the given sample counts. Points sampled
  multiple times will have multiple entries in the data set.
  @param dataSet the data set that was sampled from
  @param sampledCounts the sampling values obtained from
  {@link #sampleWithReplacement(int[], int, java.util.Random) }
  @return a new sampled classification data set