From ace6610165191ddfcb14a14b174370e8991b76f9 Mon Sep 17 00:00:00 2001 From: Spencer Sun Date: Wed, 19 Feb 2025 14:39:01 +1300 Subject: [PATCH 1/2] fix: debugging SRP_MB and tstthntrn evaluation --- .../main/java/moa/tasks/EvaluateInterleavedTestThenTrain.java | 4 ++++ 1 file changed, 4 insertions(+) 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; } From 47f6e737d373481b43a84aecb4d1b8f989951dff Mon Sep 17 00:00:00 2001 From: Spencer Sun Date: Wed, 19 Feb 2025 14:40:26 +1300 Subject: [PATCH 2/2] fix: small changes in SRP_MB --- .../moa/classifiers/meta/minibatch/StreamingRandomPatchesMB.java | 1 + 1 file changed, 1 insertion(+) 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());