/** * Instantiates a new instances. * * @param chunk the chunk * @param first the first instance * @param toCopy the j */ public Instances(Instances chunk, int first, int toCopy) { this(chunk, toCopy); if ((first < 0) || ((first + toCopy) > chunk.numInstances())) { throw new IllegalArgumentException("Parameters first and/or toCopy out " + "of range"); } chunk.copyInstances(first, this, toCopy); this.computeAttributesIndices(); }
public Instances trainCV(int numFolds, int numFold) { int numInstForFold, first, offset; Instances train; numInstForFold = numInstances() / numFolds; if (numFold < numInstances() % numFolds) { numInstForFold++; offset = numFold; } else { offset = numInstances() % numFolds; } train = new Instances(this, numInstances() - numInstForFold); first = numFold * (numInstances() / numFolds) + offset; copyInstances(0, train, first); copyInstances(first + numInstForFold, train, numInstances() - first - numInstForFold); return train; }
/** * Instantiates a new instances. * * @param chunk the chunk */ public Instances(Instances chunk) { this(chunk, chunk.numInstances()); chunk.copyInstances(0, this, chunk.numInstances()); this.computeAttributesIndices(); if(chunk.indicesRelevants != null) { this.indicesRelevants = chunk.indicesRelevants.clone(); this.indicesIrrelevants = chunk.indicesIrrelevants.clone(); } }
/** * Test cv. * * @param numFolds the num folds * @param numFold the num fold * @return the instances */ public Instances testCV(int numFolds, int numFold) { int numInstForFold, first, offset; Instances test; numInstForFold = numInstances() / numFolds; if (numFold < numInstances() % numFolds) { numInstForFold++; offset = numFold; } else { offset = numInstances() % numFolds; } test = new Instances(this, numInstForFold); first = numFold * (numInstances() / numFolds) + offset; copyInstances(first, test, numInstForFold); return test; }