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
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 |