Open glemaitre opened 5 years ago
I agree with that hierarchy. Since, the literature distinguish the methods mostly in data level approaches and algorithm level approaches samplers
and predictors
make totally sense. There are also methods that tackle the problem modifying the feature space. We could add those in the preprocessing module when we have such an implementation.
I believe that we should always import from the second level like this
from imblearn.predictors import BalancedRandomForest
from imblearn.samplers import RandomUnderSampler
An option could be to get rid different base classes and rely to estimators tags. That might give as freedom to make changes more efficiently.
While imbalanced-learn 0.X really focuses on samplers, over time we start to add additional methods like ensemble classifiers. We could think about releasing imbalanced-learn 1.X which could reorganize the methods. We could think about adding cost-sensitive learning method, for instance. One way could be:
In this case, we would probably import thing with an additional layer:
@chkoar Could you add any thought in this thread.