파이썬에서 K-평균 클러스터링 이해하기: 단계별 가이드
목차
- 데이터셋 소개
- 요약: 엘보우 방법
- K-평균으로 예측하기
- Matplotlib을 사용한 클러스터 시각화
- 클러스터 해석하기
- 특정 클러스터 데이터 추출하기
- 실제 적용: 타겟 마케팅
- 결론 및 다음 단계
다시 만나 반갑습니다, 친구들! 이 가이드에서는 파이썬을 사용한 K-평균 클러스터링을 이전 세션에서 다룬 기초 개념을 바탕으로 더욱 깊이 있게 탐구할 것입니다. 이 튜토리얼을 마치면 K-평균을 구현하고, 클러스터를 시각화하며, 데이터에서 의미 있는 인사이트를 추출할 수 있게 될 것입니다.
데이터셋 소개
세 개의 열로 구성된 데이터셋을 살펴보면서 시작해봅시다:
- 사용자 ID
- Instagram 방문 점수
- 지출 순위
이 데이터셋은 Instagram 활동 및 지출 행동을 기반으로 사용자를 세그먼트화하기 위해 K-평균 클러스터링을 적용하는 기반이 됩니다.
요약: 엘보우 방법
지난 세션에서는 K-평균에서 최적의 클러스터 수(k)를 결정하기 위한 기법인 엘보우 방법을 탐구했습니다. 각 지점에서 할당된 클러스터 중심까지의 제곱 거리 합을 플로팅하여, “팔꿈치” 지점이 과소적합과 과적합 사이의 균형을 이루는 이상적인 k를 제안합니다.
K-평균으로 예측하기
데이터의 클러스터 할당을 예측하려면:
- K-평균 초기화:
sklearn.cluster
의KMeans
클래스를 사용하여 클러스터 수를 지정합니다 (예:k=4
). - 모델 적합: K-평균 알고리즘을 데이터셋에 적용합니다.
- 클러스터 예측:
kmeans.predict(X)
를 사용하여 각 데이터 포인트를 클러스터에 할당하고, 결과를Y
변수에 저장합니다.
1 2 3 4 5 |
from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=4) kmeans.fit(X) Y = kmeans.predict(X) |
Matplotlib을 사용한 클러스터 시각화
시각화는 클러스터링 결과를 해석하는 데 도움이 됩니다. 우리는 matplotlib.pyplot
을 사용하여 각 클러스터에 대한 산점도를 생성할 것입니다.
- 라이브러리 가져오기:
1import matplotlib.pyplot as plt
- 각 클러스터 그리기:
각 클러스터 레이블을 순회하면서 해당 클러스터에 속하는 데이터 포인트를 필터링하고, 독특한 색상과 레이블로 플로팅합니다.
1234colors = ['blue', 'red', 'pink', 'black']for i in range(4):plt.scatter(X[Y == i, 0], X[Y == i, 1],c=colors[i], label=f'Cluster {i}') - 클러스터 중심 표시:
각 클러스터의 중심점을 강조하기 위해 클러스터 중심을 플로팅합니다.
123plt.scatter(kmeans.cluster_centers_[:, 0],kmeans.cluster_centers_[:, 1],s=300, c='green', label='Centroids') - 축 레이블 지정 및 범례 추가:
축을 레이블로 지정하고 범례를 추가하여 가독성을 향상시킵니다.
1234plt.xlabel('Instagram Visit Score')plt.ylabel('Spending Score')plt.legend()plt.show()
클러스터 해석하기
시각화하면 서로 다른 사용자 세그먼트를 나타내는 뚜렷한 클러스터를 관찰할 수 있습니다:
- 클러스터 0 & 2: 낮은 지출 순위를 가진 사용자들.
- 클러스터 1 & 3: 높은 지출 순위를 가진 사용자들로, 마케팅 노력의 주요 타겟이 됩니다.
특정 클러스터 데이터 추출하기
타겟 마케팅을 수행하기 위해 특정 클러스터에 집중하고 싶을 수 있습니다. 예를 들어, 클러스터 1의 사용자를 추출하는 방법은 다음과 같습니다:
1 2 |
cluster_1_data = data[Y == 1] print(f"Number of users in Cluster 1: {len(cluster_1_data)}") |
이 코드는 데이터셋을 필터링하여 클러스터 1에 할당된 사용자들만 포함하게 하여, 맞춤형 마케팅 전략을 가능하게 합니다.
실제 적용: 타겟 마케팅
클러스터를 이해하면 전략적 결정을 내릴 수 있습니다. 예를 들어:
- 마케팅 예산 할당: 높은 지출 점수를 가진 클러스터에 더 많은 자원을 할당합니다.
- 개인화된 캠페인: 각 클러스터의 특정 특성과 공감할 수 있는 캠페인을 설계합니다.
결론 및 다음 단계
K-평균 클러스터링은 데이터의 숨겨진 패턴을 발견하는 강력한 도구입니다. 이러한 클러스터를 효과적으로 시각화하고 해석함으로써, 비즈니스는 마케팅 전략을 향상시키기 위한 정보에 기반한 결정을 내릴 수 있습니다.
다음 세션에서는 엘보우 방법의 대체 방법을 탐구하여 최적의 클러스터 선택 접근 방식을 더욱 정교화할 것입니다. 계속 지켜봐 주세요!
따라와 주셔서 감사합니다! 이 가이드가 파이썬에서 K-평균 클러스터링 과정을 이해하는 데 도움이 되었기를 바랍니다. 행복한 클러스터링 되세요!