인프런 커뮤니티 질문&답변

두니님의 프로필 이미지
두니

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

범주형 변수 클러스터링

작성

·

646

0

안녕하십니까 교수님 군집화에서 질문이 있어 글을 남기게 되었습니다.

 

군집화는 거리를 기반하여 유사도를 측정하는 머신러닝 기법이라고 배웠습니다,

그럼 카테고리컬 변수의 경우 어떤식으로 클러스터링을 할 수 있을까요?

구글링을 해 보니 k-modes라는 것이 있던데.. 연속형 변수와 범주형 변수 데이터를 모두 고려한 클러스터링 방법이 있을까요?

 

항상 감사합니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

순수하게 categorical value만 있는 데이터 세트라면 클러스터링 적용이 어려울 것으로 보입니다만...

개인적으로는 numeric과 categorical이 섞여 있는 데이터 세트에서는 categorical은 one-hot encoding을 적용해서 clustering을 수행하는 것을 선호합니다.

말씀하신 k-modes는 사실 저도 처음 들어보는 거라, 구글 검색을 해보니 categorical과 numeric이 혼합된 데이터에 적용을 권장하는 자료들이 많군요. 저도 실제 적용을 해보진 않아서 효과는 말씀드리기가 어려울 것 같습니다.

추가적으로 R(파이썬이 아닌)에는 Gower distance가 있습니다. catgorical과 numeric에 혼합된 데이터에서 사용되는 metric인데, 아쉽게 scikit learn에는 제공하지 않습니다. 하지만 gower distance를 python으로 구현한 패키지를 활용할 수는 있습니다.

pip install gower로 해당 metric를 설치하시고, 아래 글을 참조해 보시면 좋을 것 같습니다.

https://stats.stackexchange.com/questions/444593/how-to-use-gowers-distance-with-dbscan-algorithm-in-python

 

감사합니다.

두니님의 프로필 이미지
두니

작성한 질문수

질문하기