군집분석은 비감독학습입니다. 그리고 데이터 거리가 반드시 정의되어야 분석이 가능합니다.
데이터 거리란?
거리행렬은 어떤 데이터 포인트와 다른 데이터 포인트 사이의 거리를 표현하는 방법입니다.
거리행렬은 교환법칙이 반드시 성립해야 합니다. 여기서 교환법칙이란 i -> j 의 거리와 j->iㅢ 거리가 같다는 것을 말합니다. i,j 거리와 j,i 거리가 다르면 교환법칙이 성립하지 않습니다.
N개의 데이터가 있다면 이론상 N(N-1)/2가지 경우가 나타납니다. 교환법칙이 성립하므로 나누기2를 해줍니다.
가장 기초적이고 많이 쓰이는 방법은 유클리드 거리행렬입니다.
데이터 간의 거리를 계산하는 방법으로는 유클리드 거리, 맨하튼 거리, 민코우스키 거리 등이 있습니다.
양 군집 간 거리 계산 방법
군집 간의 거리를 계산하는 방법에는 최단연결법, 최장연결법, 평균연결법, 중심연결법, 워드연결법 등이 있습니다.
군집분석의 분류
군집분석은 계층형과 비계층형으로 나눌 수 있으며,
군집분석의 종류에는 덴드로그램, K-means, DBSCAN 방식등이 있습니다.
계층형 군집 분석
덴드로그램 Dendrogram은 거리행렬을 통해 데이터 포인트를 모두 계산하는 방법으로, 계층형 군집의 일종입니다. 모든 데이터를 계산하기 때문에 대용량 데이터에 사용하기 어렵지만, 전반적인 패턴 확인을 위해 본격적인 데이터 분석을 하기 전 단계에서 사용할 수 있습니다.
비계층형 군집분석 (1) K-means
K-means clustering은 데이터끼리의 평균을 이용하는 방법입니다.
주로 원 형태에 최적화되어 있고, 이해와 구현이 쉬운 편입니다.
군집의 갯수를 가정하고, 각 군집 중심에서부터 모든 점과의 거리를 계산합니다. 그 후 점마다 더 가까운 군집으로 배정을 합니다. 그 후 같은 군집 끼리 평균을 계산한 후, 중심을 옮깁니다. 그 후 변동된 점으로부터 모든 점까지의 거리를 계산하고 군집을 분류한 후 배정하는 과정을 반복합니다.
반복할수록 변동이 작아지게 됩니다.
이때 몇 개의 군집으로 나눌 지에 대한 결정은 머신러닝이 아니라 사람이 직접 정해주는 부분입니다.
많으면 많을수록 좋은 것은 아니며, 시각화나 EDA를 통해 가장 설명이 좋은 k를 가늠할 수 있습니다.
비계층형 군집분석 (2) DBSCAN
DBSCAN 방식은 밀도가 높은 부분을 군집으로 평가하는 방법입니다.
타원형도 잘 잡아낼 수 있고, 노이즈를 자동으로 잡아낼 수 있습니다.
'IT,SW,Data,Cloud,코딩' 카테고리의 다른 글
주성분분석(PCA)와 밀도기반 군집분석(DBSCAN) (0) | 2022.02.22 |
---|---|
텍스트마이닝 (0) | 2022.02.17 |
베이즈 정리, 나이브 베이즈 (0) | 2022.02.15 |
SVM 알고리즘과 분류기, SVR 알고리즘 (0) | 2022.02.10 |
KNN(K-Nearest Neighbor) (0) | 2022.02.03 |
[초보자용 Git 설명] Git 기본 개념 및 Git Flow 관련 용어 이해하기 (0) | 2022.02.01 |
회귀분석 Regression Analysis (0) | 2022.01.27 |
의사결정트리: 엔트로피, 정보이득, 지니계수, 카이제곱스퀘어 (0) | 2022.01.25 |
댓글