상세 컨텐츠

본문 제목

Clustering- K-means

ML

by 30303 2024. 3. 25. 14:21

본문

728x90

 K-means

 

Clustering은 비지도학습에 속하며 K-means 알고리즘은 데이터를 K개의 군집으로 묶어주는 알고리즘

 

Step 1: 군집의 개수 (K) 설정

- 데이터를 준비한 뒤 가장 먼저 해야 할 것은 군집의 개수를 결정해야함 (사람이)

- K-means 알고리즘의 한계점 중에 하나

- 군집의 개수 설정을 어떻게 하냐에 따라 결과가 크게 달라지며, 터무니 없는 결과가 나올 수 있음

- 군집의 개수를 몇 개로 설정 할 것인가?

- Rule of thumb

- Elbow Method

- 정보 기준 접근법 (Information Criterion Approach)

 

 

 

Step 2: 초기 중심점 설정

- K개의 초기 중심점 (Center of Cluster, Centroid)을 설정하는 단계

- K-means 알고리즘은 초기 중심점으로 어떤 값을 선택하는가에 따라 성능이 크게 달라짐

- 중심점 설정하는 방법

- Randomly Select

- Maually assign

- K-means ++ (실제 사용되는 초기 중심 값 설정하는 방법)

 

 

 

Step 3 : 데이터를 군집에 할당(배정)

- 거리 상 가장 가까운 군집(중심점)으로 주어진 데이터를 할당 또는 배정하는 단계

- 거리 측정 방법은 일반적으로 유클리디안 거리로 측정

 

Step 4 : 중심점 재설정(갱신)

- C1, C2, C3 각각의 중심점은 그 군집의 속하는 데이터들의 가장 중간(평균)에 위치한 지점으로 재설정

- 중심점 C1은 데이터 1, 2의 평균인 지점으로 C2는 데이터 3, 4의 평균인 지점으로, 중심점 C3은 데이터 5, 6의 평균인 지점으로 갱신 됨

 

- Step 5 : 데이터를 군집에 재할당(배정)

- 더 이상 중심점의 이동이 없을 때까지, step4와 step5를 반복함

 


 

 

[K-means Parameters]

  Packge : https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

 

n_clusters : Cluster 개수 (K)

 

n_init : Number of times the k-means algorithm is run with different centroid seeds

    - K-means는 Step2에서 '초기 중심점 설정'이라는 작업을 하는데, 초기 중심점을 셋팅하는 것에 따라 군집의 Quality가 달라짐

    - 따라서 여러번 시도해 보는것

    - default = 10

 

max_iter : 몇번 Round를 진행할 것 인지

    - Round

       - Step 4: 중심점 재설정

       - Step 5: 데이터를 군집에 재할당

    - 이러한 Round를 최대 몇번까지 돌것인가?

    - default = 300

       - 300번 안에 중심점 움직임이 멈추지 않으면 그냥 STOP

'ML' 카테고리의 다른 글

Clustering- DBSCAN/ HDBCAN  (0) 2024.03.25
Anomaly detection- Isolation Forest  (0) 2024.03.25
Anomaly detection-LOF(Local Outlier Factor)  (0) 2024.03.25
Anomaly detection - 3-Sigma rule& box plot  (0) 2024.03.25
LightGBM  (0) 2024.03.22

관련글 더보기