public List stratSet(int folds, Random rnd)
{
ArrayList cvList = new ArrayList();
IntList rndOrder = new IntList();
int curFold = 0;
for(int c = 0; c < getClassSize(); c++)
{
List<DataPoint> subPoints = getSamples(c);
rndOrder.clear();
ListUtils.addRange(rndOrder, 0, subPoints.size(), 1);
Collections.shuffle(rndOrder, rnd);
for(int i : rndOrder)
{
cvList.get(curFold).datapoints.add(subPoints.get(i));
cvList.get(curFold).category.add(c);
curFold = (curFold + 1) % folds;
}
}
return cvList;
}
I added these code:
while(cvList.size()<folds){ ClassificationDataSet clone = new ClassificationDataSet(numNumerVals, categories, predicting.clone()); cvList.add(clone); }
public List stratSet(int folds, Random rnd)
{
ArrayList cvList = new ArrayList();
I added these code:
while(cvList.size()<folds){ ClassificationDataSet clone = new ClassificationDataSet(numNumerVals, categories, predicting.clone()); cvList.add(clone); }