package org.neuroph.contrib.model.sampling;
import org.neuroph.core.data.DataSet;
import org.neuroph.core.data.DataSetRow;
import java.util.ArrayDeque;
import java.util.Deque;
/**
* Sampling algorithm where each element can be placed in multiple samples
*/
public class RandomSamplingWithoutRepetition extends AbstractSampling {
Deque dataDeque;
public RandomSamplingWithoutRepetition(final int numberOfFolds) {
super(numberOfFolds);
dataDeque = new ArrayDeque<>();
}
@Override
protected int getSampleSize() {
return dataDeque.size() / numberOfSamples;
}
@Override
protected DataSetRow getNextDataSetRow() {
return dataDeque.pop();
}
@Override
protected void populateInternalDataStructure(DataSet dataSet) {
dataDeque.addAll(dataSet.getRows());
}
}
Ads help maintain this website.