Description
Hi! First off, I know very little about machine learning in general, and imbalanced machine learning in particular, so I don't know if this will make much sense.
The problem I encountered is that I can not use combine.SMOTETomek with e.g. SVMSMOTE.
Steps/Code to Reproduce
import numpy as np
from imblearn.combine import SMOTETomek
from imblearn.over_sampling import SVMSMOTE
sampler = SMOTETomek(smote=SVMSMOTE())
sampler.fit_resample(np.arange(10).reshape(5, -1), np.arange(5))
Expected Results
A SMOTETomek sampler that uses SVMSMOTE for oversampling.
Actual Results
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/.../.virtualenvs/cartographer/lib/python3.6/site-packages/imblearn/base.py", line 84, in fit_resample
output = self._fit_resample(X, y)
File "/home/.../.virtualenvs/cartographer/lib/python3.6/site-packages/imblearn/combine/_smote_tomek.py", line 139, in _fit_resample
self._validate_estimator()
File "/home/.../.virtualenvs/cartographer/lib/python3.6/site-packages/imblearn/combine/_smote_tomek.py", line 117, in _validate_estimator
'Got {} instead.'.format(type(self.smote)))
ValueError: smote needs to be a SMOTE object.Got <class 'imblearn.over_sampling._smote.SVMSMOTE'> instead.
Versions
>>> import platform; print(platform.platform())
Linux-4.15.0-54-generic-x86_64-with-Ubuntu-18.04-bionic
>>> import sys; print("Python", sys.version)
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0]
>>> import numpy; print("NumPy", numpy.__version__)
NumPy 1.16.2
>>> import scipy; print("SciPy", scipy.__version__)
SciPy 1.2.1
>>> import sklearn; print("Scikit-Learn", sklearn.__version__)
Scikit-Learn 0.21.2
>>> import imblearn; print("Imbalanced-Learn", imblearn.__version__)
Imbalanced-Learn 0.5.0
Description
Hi! First off, I know very little about machine learning in general, and imbalanced machine learning in particular, so I don't know if this will make much sense.
The problem I encountered is that I can not use
combine.SMOTETomekwith e.g.SVMSMOTE.Steps/Code to Reproduce
Expected Results
A SMOTETomek sampler that uses SVMSMOTE for oversampling.
Actual Results
Versions