최적의 K를 선택하기 위한 엘보우 방법과 실루엣 방법을 포함하는 k-평균 알고리즘을 Python으로 구현한 것입니다.
K-평균은 데이터를 K 클러스터로 분할하는 데 사용되는 널리 사용되는 클러스터링 알고리즘입니다. 각 데이터 포인트를 가장 가까운 클러스터 중심에 반복적으로 할당한 다음 할당된 데이터 포인트를 기반으로 각 클러스터의 중심을 다시 계산하는 방식으로 작동합니다. 이 과정은 수렴될 때까지 반복됩니다.
k-평균의 목적은 각 데이터 포인트와 할당된 클러스터 중심 사이의 거리 제곱의 합을 최소화하는 것입니다. 목적 함수는 다음과 같이 작성할 수 있습니다. j
내의 i-th
데이터 포인트이고, μj
클러스터 j
의 중심이고, N
데이터 포인트의 총 개수입니다.
Elbow 방법은 K-Means 클러스터링에서 최적의 클러스터 수를 결정하는 데 사용되는 경험적 방법입니다. 이 방법은 각 관측값과 할당된 중심 사이의 거리 제곱의 합을 클러스터 수의 함수로 표시합니다. 플롯의 "엘보우" 점은 군집을 추가해도 거리 제곱합이 크게 감소하지 않는 군집 수를 나타냅니다.
팔꿈치 방법은 다음 단계로 요약할 수 있습니다.
실루엣 방법은 K-평균 군집화에서 최적의 군집 수를 결정하는 데 사용되는 또 다른 경험적 방법입니다. 이 방법은 실루엣 계수를 계산하여 각 관찰의 클러스터 할당 품질을 측정합니다. 실루엣 계수의 범위는 -1에서 1까지입니다. 여기서 값이 1이면 관측치가 잘 클러스터되어 있음을 나타내고 값이 -1이면 관측치가 잘못 분류되었음을 나타냅니다. 데이터 포인트 i
에 대한 실루엣 계수를 계산하는 공식은 다음과 같습니다. a(i)
는 i
와 클러스터의 다른 모든 데이터 포인트 사이의 평균 거리이고, b(i)
는 i
와 다른 모든 클러스터(즉, 다음으로 가장 가까운 중심이 있는 클러스터) 사이의 최소 평균 거리입니다. 전체 클러스터링에 대한 실루엣 계수는 모든 데이터 포인트에 대한 실루엣 계수의 평균입니다.
실루엣 방법은 다음 단계로 요약할 수 있습니다.