2

I've re-installed the latest scikit-learn and imbalanced-learn. I've also checked all other libraries to make sure they are compatible with imbalanced-learn.

I just want to run a simple RandomOverSample(), but I got the following import error message:

import imblearn
from imblearn.over_sampling import RandomOverSampler

ros = RandomOverSampler()
X_ros, y_ros = ros.fit_sample(x, y)

Error: Message:

    ---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-122-0bf7409a8688> in <module>
----> 1 import imblearn
      2 from imblearn.over_sampling import RandomOverSampler
      3 
      4 ros = RandomOverSampler()
      5 X_ros, y_ros = ros.fit_sample(x, y)

~/.local/lib/python3.5/site-packages/imblearn/__init__.py in <module>
     32     Module which allowing to create pipeline with scikit-learn estimators.
     33 """
---> 34 from . import combine
     35 from . import ensemble
     36 from . import exceptions

~/.local/lib/python3.5/site-packages/imblearn/combine/__init__.py in <module>
      3 """
      4 
----> 5 from ._smote_enn import SMOTEENN
      6 from ._smote_tomek import SMOTETomek
      7 

~/.local/lib/python3.5/site-packages/imblearn/combine/_smote_enn.py in <module>
      8 from sklearn.utils import check_X_y
      9 
---> 10 from ..base import BaseSampler
     11 from ..over_sampling import SMOTE
     12 from ..over_sampling.base import BaseOverSampler

~/.local/lib/python3.5/site-packages/imblearn/base.py in <module>
     14 from sklearn.utils.multiclass import check_classification_targets
     15 
---> 16 from .utils import check_sampling_strategy, check_target_type
     17 from .utils._validation import ArraysTransformer
     18 

~/.local/lib/python3.5/site-packages/imblearn/utils/__init__.py in <module>
      5 from ._docstring import Substitution
      6 
----> 7 from ._validation import check_neighbors_object
      8 from ._validation import check_target_type
      9 from ._validation import check_sampling_strategy

~/.local/lib/python3.5/site-packages/imblearn/utils/_validation.py in <module>
     11 
     12 from sklearn.base import clone
---> 13 from sklearn.neighbors._base import KNeighborsMixin
     14 from sklearn.neighbors import NearestNeighbors
     15 from sklearn.utils import column_or_1d

~/.local/lib/python3.5/site-packages/sklearn/neighbors/_base.py in <module>
     21 from ._ball_tree import BallTree
     22 from ._kd_tree import KDTree
---> 23 from ..base import BaseEstimator, MultiOutputMixin
     24 from ..metrics import pairwise_distances_chunked
     25 from ..metrics.pairwise import PAIRWISE_DISTANCE_FUNCTIONS

ImportError: cannot import name 'MultiOutputMixin'
Alexander L. Hayes
  • 3,892
  • 4
  • 13
  • 34
Cassie.L
  • 311
  • 1
  • 7
  • 19

1 Answers1

5

Try opening a new python console or restarting the jupyter notebook. This worked for me. Looks like imblearn library needs a restart to work. This matter is also discussed here. ImportError: cannot import name 'MultiOutputMixin' from 'sklearn.base'