diff --git a/moa/src/main/java/moa/classifiers/meta/minibatch/StreamingRandomPatchesMB.java b/moa/src/main/java/moa/classifiers/meta/minibatch/StreamingRandomPatchesMB.java index b5bb9a6e3..1c151c848 100644 --- a/moa/src/main/java/moa/classifiers/meta/minibatch/StreamingRandomPatchesMB.java +++ b/moa/src/main/java/moa/classifiers/meta/minibatch/StreamingRandomPatchesMB.java @@ -287,6 +287,7 @@ protected void initEnsemble(Instance instance) { break; case StreamingRandomPatchesMB.TRAIN_RANDOM_SUBSPACES: case StreamingRandomPatchesMB.TRAIN_RANDOM_PATCHES: + if (this.subspaces.isEmpty()) break; int selectedValue = this.classifierRandom.nextInt(subspaces.size()); ArrayList subsetOfFeatures = this.subspaces.get(selectedValue); subsetOfFeatures.add(instance.classIndex()); diff --git a/moa/src/main/java/moa/tasks/EvaluateInterleavedTestThenTrain.java b/moa/src/main/java/moa/tasks/EvaluateInterleavedTestThenTrain.java index e0c69a5bd..e16d43791 100644 --- a/moa/src/main/java/moa/tasks/EvaluateInterleavedTestThenTrain.java +++ b/moa/src/main/java/moa/tasks/EvaluateInterleavedTestThenTrain.java @@ -25,6 +25,7 @@ import moa.capabilities.Capability; import moa.capabilities.ImmutableCapabilities; +import moa.classifiers.AbstractClassifierMiniBatch; import moa.classifiers.Classifier; import moa.classifiers.MultiClassClassifier; import moa.core.Example; @@ -217,6 +218,9 @@ protected Object doMainTask(TaskMonitor monitor, ObjectRepository repository) { if (immediateResultStream != null) { immediateResultStream.close(); } + if (learner instanceof AbstractClassifierMiniBatch) { + ((AbstractClassifierMiniBatch) learner).trainingHasEnded(); + } return learningCurve; }