사이킷런으로 머신러닝을 돌리다보면
종종 튜닝할일이 생긴다.
특히, 그리드서치 시에 mglearn 패키지는 유용한 시각화 툴을 제공해준다.
예를 들면 아래와 같은 각 파리미터 조합 별 cross validation score가 적힌 히트맵을 제공해준다.
그런데 이 유용한 패키지인 mglearn이 얼마전부터 아래와 같은 에러가 발생하면서 import가 안되기 시작했다.
__init__() got an unexpected keyword argument 'cachedir'
그리고 구글링을 통해, 좀 오랜 시간 걸려서 이 문제를 해결했다.
혹시나 이런 에러가 발생했을때, 대처 방법이 필요하신 분들을 위해 포스팅하겠다.
(필자는 macOS 를 쓰고 있는것을 감안해야겠지만, 그래도 pip 명령어 자체가 달라지진 않을것이라 생각한다.)
먼저, 사이킷런을 혹시 모르니 다시 깔아보자.
jupyter notebook상에서
!pip install sklearn
을 입력하거나
conda 혹은 터미널 상에 conda install sklearn 또는 pip3 install sklearn 등을 치면 되겠다.
(아래 부터는 jupyter notebook상에서의 명령어 기준으로 작성하겠다)
그 다음에는 mglearn과 연결되어 있는 패키지인 joblib을 버전 1.1.0으로 받아야 한다. 내 생각에 나한테 발생한 에러는 joblib패키지의 버전이 바뀌면서 mglearn과 연결된 무언가가 엉켜서 발생한 에러인듯하다. 따라서 아래와 같은 명령어로 joblib패키지의 버전을 바꿔보자.
!pip install --upgrade joblib==1.1.0
그리고 그 다음에 mglearn을 다시 깔아보자.
!pip install --upgrade mglearn==0.1.9
이렇게 하고 mglearn을 import 해보니 필자는 정상적으로 해결되었다.
'프로그래밍 & 알고리즘 & IT > Python' 카테고리의 다른 글
파이썬 cpu 병렬 연산 (feat. joblib 모듈) (0) | 2024.03.03 |
---|---|
[파이썬] 파이썬 pandas에서 자주 쓰는 함수 - column rename (0) | 2023.06.14 |