해결된 질문
작성
·
310
·
수정됨
1
안녕하십니까 교수님 cluster 해석과 관련하여 질문이 있어 글을 작성하게 되었습니다. 각 cluster별로 명확하게 어떤 feature가 많이 고려되었다는 것을 확인할 수 있는 방법이 있을까요?
clustering을 진행한 뒤 다음과 같은 방법으로 cluster를 해석하려 하였습니다.
1) 군집화를 진행하여 0, 1, 2, 3 의 cluster가 도출됨
2) cluster를 label 데이터로 하여 classification을 진행
3) feature importance를 활용하여 기술적으로 cluster를 해석
여기서 질문드리고 싶은 점은.. 각 군집별로 feature importance를 도출할 방법이 없을까요? (또는 XAI등 다른 방법이 있을까요??)
현재 feature importance는 cluster 0, 1, 2, 3을 모두 반영한 feature importance를 도출해 명확하게 cluster의 특징을 해석하기 어려운 것 같습니다.. 각 cluster별로 어떤 feature가 많이 고려되었다는 것을 확인할 수 있는 방법이 있는 지가 궁금합니다.
항상 감사드립니다.
답변 1
1
안녕하십니까,
음, 좋은 질문이군요. 다만 저도 적용해 보지 않은 방식이고, clustering과 feature importance는 알고리즘 자체가 다른데 이를 이용해서 각 cluster 별로 어떤 feature가 고려되었다는 것을 찾을 수 있을지는 의문입니다.
clustering은 k-means의 경우 거리 기반으로 비슷한 피처들을 하나의 군집으로 묶여내는 알고리즘 인데 반해서, feature importance는 지도학습의 타겟 데이터와 피처 데이터를 기반으로 트리 기반의 머신러닝 모델이 학습될 때 얼마나 자주 노드가 분할이 되는지에 따라 피처별로 importance가 정해 지는 방식입니다.
때문에 서로 다른 두개의 알고리즘이 연관되어 각 cluster 별로 어떤 feature가 중요하게 동작하는지 찾아낼 수 있을지는 개인적으로 의문입니다.
다만 저도 궁금증을 가지고 검색을 해본 결과 아래와 같이 적어주신대로 시도를 해본 자료를 찾을 수 있었습니다.
1) 군집화를 진행하여 0, 1, 2, 3 의 cluster가 도출됨
2) cluster를 label 데이터로 하여 classification을 진행
3) feature importance를 활용하여 기술적으로 cluster를 해석
https://towardsdatascience.com/interpretable-k-means-clusters-feature-importances-7e516eeb8d3c
해당 url의 자료와 적어주신 방법간의 차이는 one-vs-all 기반으로 binary classification을 적용한 것입니다.
그밖에 여러 방식으로 clustering을 interpretation 하는 방식을 소개하고 있으니, 참조해 보시면 좋을 것 같습니다.
감사합니다.
교재 내용이 아닌데도 레퍼런스까지 참조하시어 답변해주셔서 정말 감사드립니다.