Scikit-learn 라이브러리를 사용해서 k-means 군집분석을 실시할 때 발생하는 에러를 해결한 경험을 공유한다.
문제 상황
Scikit-learn 라이브러리를 사용해서 k-means 군집분석을 실시하려고 했을 때 에러가 발생하는 경우가 있다. 다음의 코드와 같이 KMeans()
클래스로 생성한 k-means 객체의 .fit()
메서드를 사용할 때 에러가 발생하였다.
1 | model_kmeans = KMeans(n_clusters = 7, random_state = 123) |
에러 메세지의 마지막 문구는 다음과 같다.
AttributeError: ‘NoneType’ object has no attribute ‘split’
해결 방법
해당 문제가 발생한 Scikit-learn
라이브러리 버전은 1.3.1로 1.2.2로 다운그레이드를 해도 해결되지 않았으며 해당 문제는 “threadpoolctl” 라이브러리의 버전을 3 이상으로 업그레이드를 해주면 문제가 해결되는 것을 확인하였다. 다음의 코드를 주피터노트북의 셀에서 실행할 수 있다.
!pip install threadpoolctl --upgrade
참고
본 내용은 다음의 게시글을 참고하였다. (2023-10-20 기준)
https://github.com/scikit-learn/scikit-learn/issues/24238