SW개발
에러 해결 방법 : ImportError: cannot import name 'DistanceMetric' from 'sklearn.metrics' (/Applications/anaconda3/lib/python3.8/site-packages/sklearn/metrics/__init__.py)
The Yellow Lion King
2022. 11. 13. 13:56
반응형
imbalanced Dataset을 처리하기 위해 imblearn 라이브러리를 이용하려할때 발생했던 에러 입니다.
환경 :
anaconda3(python 3.8.8), jupyter notebook
Code 내용 :
!pip install imblearn
from imblearn.under_sampling import RandomUnderSampler
from imblearn.over_sampling import RandomOverSampler, SMOTE
에러 현상:
ImportError: cannot import name 'DistanceMetric' from 'sklearn.metrics' (/Applications/anaconda3/lib/python3.8/site-packages/sklearn/metrics/__init__.py)
imbalance 데이터 셋을 업/다운 샘플링을 통해 보정하고자 imblearn 패키지를 이용하려고 했습니다. 그런데 에러가 나더군요 좀 찾아보니 imblanced-learn 패키지를 이용하라는 글이 있더군요 그래서 이것도 설치하고 사용하려 하다보니 위와 같은 에러가 났습니다.
추정 원인:
아마도 원인은 package version 충돌 및 outdate 된 download 주소인 것 같습니다.
해결 방법:
pip를 업그래이드하고 scikit-learn 과 imbalanced-learn 의 버전을 맞추어 줍니다.
!pip install --upgrade pip # pip 업그래이드
!pip install -U imbalanced-learn # 혹시 이전에 설치된 버전이 있다면 제거
!pip install imbalanced-learn==0.8.1 # 버전 준수
!pip install scikit-learn==0.24.2 # 버전 준수
반응형