728x90
K-Means Clustering은 비지도 학습(Unsupervised Learning)의 대표적인 기법으로, 데이터를 군집화하여 비슷한 특성을 가진 데이터를 묶는 데 사용됩니다. 이 알고리즘은 특히 고객 데이터를 분석하거나 특정 패턴을 찾을 때 유용하며, 실습 과정을 통해 데이터 군집화를 직접 수행해볼 수 있습니다.
K-Means Clustering의 원리
- 초기 중심점 설정: K값(클러스터 개수)을 설정하고, 초기 중심점을 랜덤으로 선택합니다.
- 클러스터 할당: 각 데이터 포인트에 대해 가장 가까운 중심점에 해당하는 클러스터로 할당합니다. 거리는 일반적으로 유클리드 거리(Euclidean Distance)로 계산됩니다.
- 중심점 업데이트: 각 클러스터에 속한 데이터의 평균을 계산하여 새로운 중심점을 설정합니다.
- 반복: 중심점이 더 이상 변하지 않을 때까지 2번과 3번 단계를 반복합니다.
- 종료 조건: 중심점이 더 이상 변하지 않거나, 반복 횟수가 사전에 설정한 한계에 도달하면 알고리즘을 종료합니다.
실습 진행
1. 데이터 로드 및 탐색
- 데이터는 200개의 샘플로 구성되어 있으며, 주요 컬럼은 다음과 같습니다:
- Customer ID: 고객 고유 식별자
- Gender: 성별
- Age: 나이
- Annual Income: 연간 수입 (단위: USD)
- Spending Score: 소비 지표 (1~100 사이 값)
- 데이터 탐색:
- 결측값 유무 확인 (isna().sum())
- 데이터 통계량 확인 (describe())
2. 데이터 전처리
- 문자 데이터 처리:
- Gender 컬럼의 값(남/여)을 숫자형으로 변환 (예: Male=1, Female=0)
- 이를 위해 LabelEncoder를 사용
- 특성 선택:
- Annual Income과 Spending Score를 선택하여 클러스터링 진행
3. K-Means 모델 학습
- 모델 초기화:K 값을 3으로 설정하고 랜덤 시드를 고정합니다.
- 학습 및 클러스터 할당:
- # X는 특성 데이터셋
- 결과 저장: 클러스터 결과를 데이터프레임의 새로운 컬럼으로 추가하여 분석 용이성을 높입니다.
4. K값 최적화 (Elbow Method)
- Elbow Method를 활용하여 최적의 K값을 찾습니다.
- WCSS (Within-Cluster Sum of Squares): 각 클러스터 내 데이터와 중심점 간의 거리 제곱 합을 계산하여 WCSS 값을 구합니
- Elbow Plot 시각화:
- Elbow Plot에서 WCSS 값이 급격히 감소하다 완만해지는 지점을 K값으로 선택합니다.
5. 결과 분석
- 각 클러스터의 특성을 파악:
- 클러스터 별 주요 특성을 분석하여 고객 군집의 특성을 도출합니다. 예:
- Cluster 0: 연령대가 낮고 소비 지표가 높은 그룹
- Cluster 1: 중간 연령대와 중간 소비 지표 그룹
- Cluster 2: 연령대가 높고 소비 지표가 낮은 그룹
6. 마케팅 활용 방안
- Cluster별 전략 수립:
- Cluster 0: 적극적인 구매 유도를 위한 할인 쿠폰 제공
- Cluster 1: 정기적 리마인드 이메일 발송
- Cluster 2: 고급 제품 마케팅 강화
- 비즈니스 적용 사례:
- 고객 군집을 기반으로 맞춤형 CRM 전략 설계
- 특정 군집 타겟팅을 통한 광고 효율 개선
실습 결론
K-Means Clustering은 데이터의 비슷한 특성을 가진 그룹을 효과적으로 분류하는 데 매우 유용합니다. 이번 실습에서는 쇼핑몰 고객 데이터를 사용하여 고객 군집화를 수행했고, 이를 통해 고객별 맞춤형 마케팅 전략을 세울 수 있음을 확인했습니다. 추가적으로 Elbow Method를 통해 최적의 클러스터 개수를 설정함으로써 분석의 정확성을 높였습니다.
728x90
'🐍 Python' 카테고리의 다른 글
Unsupervised Learning과 K-Means Clustering (0) | 2025.01.31 |
---|---|
디시전 트리(Decision Tree) 개념과 데이터 분할 (0) | 2025.01.31 |
서포트 벡터 머신 (SVM, Support Vector Machine): 개념부터 실습까지 (0) | 2025.01.31 |
KK-최근접 이웃 (KNN, K-Nearest Neighbors) 알고리즘: 개념부터 실습까지 (0) | 2025.01.31 |
리니어리그레션 (Linear Regression) 완벽 이해: 경력과 연봉의 관계 예측하기- Prediction (예측) (0) | 2025.01.30 |