본문 바로가기
쫌쫌따리 통계+데이터+AI

2. 제 3장 정형 데이터 마이닝 제 3절 군집분석

by stherhj 2022. 7. 25.

1. 계층적 군집 

[!] 최단, 최장, 중심 연결법은 군집간의 거리에 기반하며, 와드 연결법만 군집내 오차제곱합에 기초하여 군집을 수행하는 것이다.

 

[?] 거리 측정 방법(수학적 거리: 유클리드, 맨하튼, 민코우스키, 통계적 거리: 표준화, 마할라노비스 등)에 따라 군집의 큰 차이가 있을지?

-> 완전히 다르진 않아도 일부 개체들의 군집 변화가 존재한다.

(좌) Euclidian (중) Manhattan (우) Minkowski (from data(USArrests))

[?] 명목형 변수에 대한 군집분석?

-> https://rfriend.tistory.com/583

출처: 이미지 내 표기

2. K-평균 군집

[!] k-means clustering 보다 우위에 k-centroid clustering, outlier에 영향을 많이 받는 단점을 보완하기 위해 k-medoids clustering 등 활용 가능하다.

#Scree plot function in R
wwsplot <- function(data, nc=15, seed=1234){
            wss <- (nrow(data)-1)*sum(apply(data,2,var))
            for(i in 2:nc){
              set.seed(seed)
              wss[i] <- sum(kmeans(data, centers = i)$withinss)}
            plot(1:nc, wss, type="b", xlab = "Number of Clusters",
                 ylab="Within groups sum of squares")}
#Scree plot in Python
distortions = []
K = range(1,20)
for k in K:
    kmeanModel = KMeans(n_clusters=k)
    kmeanModel.fit(matrix)
    distortions.append(kmeanModel.inertia_)
plt.figure(figsize=(20,8))
plt.plot(K, distortions, 'bx-')
plt.xlabel('k')
plt.ylabel('Disrnatortion')
plt.title('The Elbow Method showing the optimal k')
plt.show()

 

[?] "(pg. 522) 최적의 군집수를 정하기 위해 사용되는 지수(총 30개 중 여기서는 26개의 지수가 계산됨) 가운데 15개의 지수가 3을 최적의 군집수로 투표(majority voting)한 결과를 보여준다." 에서 지수의 의미?

->"It provides 30 indexes for determining the optimal number of clusters in a data set and offers the best clustering scheme from different results to the user." (출처: Package ‘NbClust’ R official documnet)

패키지 자체에서 30개의 지수를 계산하는데 코드 중 table(nc$best.n[1,])를 통해 총 26개의 지수가 각 군집수에 투표한 것을 확인할 수 있어 26개의 지수가 계산된 것으로 판단하였다.

 

[?] KNN classification algorithm vs K-means clustering algorithm

-> knn 분류분석의 k는 분류하고자하는 개체 주변에 살피고자하는 개체의 개수, kmeans의 k는 나누고자하는 군집의 개수

  1. K-NN is a Supervised machine learning while K-means is an unsupervised machine learning.
  2. K-NN is a classification or regression machine learning algorithm while K-means is a clustering machine learning algorithm.
  3. K-NN is a lazy learner while K-Means is an eager learner. An eager learner has a model fitting that means a training step but a lazy learner does not have a training phase.
  4. K-NN performs much better if all of the data have the same scale but this is not true for K-means.

(출처: https://www.researchgate.net/post/How_is_KNN_different_from_k-means_clustering)

(knn classification 왤케 추억의 단어같지..스터디의 순기능..혼자서 생각해낼 수 없는 추억의 단어를 떠올릴 수 있다.)

 

3. 혼합 분포 군집

[!] 혼합분포에서의 모수 추정은 단일 분포의 경우와 달리 가능도함수에 기초한 최대가능도추정이 쉽지 않으므로 EM 알고리즘을 이용한다. (E-step & M-step) 

https://angeloyeo.github.io/2021/02/08/GMM_and_EM.html

https://syj9700.tistory.com/39

 

[?] k-means clustering 과 같이 이상치에 민감하게 반응. 이를 보완해줄 수 있는 k-medoids와 같은 존재가 있는지?

-> 두 방법론의 연관성

(출처: https://namu.wiki/w/%EA%B5%B0%EC%A7%91%20%EB%B6%84%EC%84%9D)

 

4. SOM(Self-Organizing Map)

[?] ADP SOM 기출 문제, SOM 은 supervised learning에 활용될 수 있는가?

[?] SOM의 clustering result observation 확인

 

 

댓글