I am working on an imbalanced dataset, and I use SMOTE to balance the data. I build my model using Weka.
I want to make (SMOTE) as a part of my model. So, when I apply my model to another imbalanced dataset, the model can increase the number of minority instances and make it equal to the number of majority instances, whatever the number of minority and majority instances are.
In Weka, we usually set (the percentage of SMOTE instances to create) with a number. Thus, SMOTE uses the same percentage when dealing with another dataset. I want to make the percentage changed based on the dataset entered. I think I may do that if I write an equation (for minority and majority classes), in a SMOTE parameter (percentage), instead of writing a number.
Can this be possible? If not, Is there any way to generalize the SMOTE algorithm?