SMOTE should be working correctly. The FilteredClassifier creates a new
training set using SMOTE before passing it to the base classifier. Test
instances will be passed through by SMOTE unaltered though, so it will
appear from evaluation results that there has been no change to the total
number of instances.
From: <wekalist-bounces(a)list.waikato.ac.nz> on behalf of Suranga
Reply-To: "Weka machine learning workbench list."
Date: Tuesday, 10 November 2015 4:58 pm
To: "Weka machine learning workbench list."
Subject: [Wekalist] Weka knowlegeflow ignoring SMOTE when run in
conjunction with filtered classifier
I seem to have run into a problem using SMOTE with weka knowlege flow (version
I have an unbalanced dataset, so I'm channeling my dataset into a filtered
classifier. My filtered classifier uses multiple algorithms, but each of them
has SMOTE specified as a filter. However, it seems that SMOTE is not
generating synthetic data no matter how I set the boosting, and I end up with
the same number of rows that I originally fed into the knowledge flow.
I'll be happy to share the full knowledge flow process with anyone who wants
to see, but basically, what i'm doing is:
Options: -F "weka.filters.supervised.instance.SMOTE -C 0 -K 5 -P 150.0 -S 1"
-W weka.classifiers.trees.J48 -- -C 0.25 -M 2
-1.7976931348623157E308 -N 1500
On the other hand, SMOTE works fine if I specify it before the filtered
classifier (i.e. apply SMOTE first, and then feed the boosted data into the
_______________________________________________ Wekalist mailing list Send
posts to: Wekalist(a)list.waikato.ac.nz List info and subscription status: